API Improvements

*Don't Merge Me!*

I'm going to leave this pull open to encourage discussion and visibility into a lot of API changes I'm making this week. Below are some of my goals;

* Centralized dictionary templating to increase readability and consistency across API, and move central logic back to the controller.
* Expose much more information per request. (no more show vs details) 
* Caching at the ndb level and possibly at response level, depending on performance.
* Error handle ALL OF IT.
* Log ALL OF IT, and expose traffic and errors in TBA Admin.
* Expose API documentation on TBA site.