[Building Utility] One bugfix, one user-facing change, and general cleanup and documentation

This contains one bugfix, 3e289e2091a2e498ee7f4afe1730f665fda48227. It does not rely on any changes in this pull request, but because I caught it after all this, I don't know how to separate it. Let me know if it is necessary.

The only other notable change is 3f43e7c, a change in syntax, which I feel puts the utility more in line with how the project chooses to write json.

Other than that, this is just code readability and pylint satisfaction. I'm going to try and get a list of important features/questions/work that needs to be done up by ~~tomorrow~~ later today, I guess.