Reorganize the Tool and Repository class member order.
Review Request #1790 — Created Nov. 22, 2019 and updated
The `Tool` and `Repository` classes have had a lot bolted onto them over time, and this has led to a mess. Constants, class attributes, Properties, public methods, private methods, special double-underscore methods were shuffled around, making it a bit less clear where anything should go. This change reorders them so they're in our standard member order. This may make some merges a bit difficult short-term, but will help keep consistency long-term as repository functionality grows. Testing Done: Unit tests pass. Reviewed at https://reviews.reviewboard.org/r/10769/