Clean up and document the Review Board setup.py file.
Review Request #154 - Created Nov. 16, 2016 and updated
This is a cleanup change for bringing setup.py back to our modern coding standards and to help with maintenance. It adds docstrings where missing, removes the outdated ez_setup.py support, switches strings to single quotes, appends "Command" to all command classes, removes the old hack for installing data files on macOS (which no longer appears to be needed for modern versions of Python), and fixes up the setup() call to be better organized and use a more sane indent level. The package also has a better description. Testing Done: Built different package types and inspected them. Tested that each entrypoint loaded, that all command line scripts were registered, and that all configuration forms (authentication settings and repositories) listed each option we support. Compared the list of installed files before and after the `install_data` hack. Verified that Python 2.7 isn't impacted by the old bug that the classes were for. (Django has also removed their support, and it doesn't look like Python 2.6 should be impacted either.) Reviewed at https://reviews.reviewboard.org/r/8498/