Endpoints Refactor

This is the latest refactor of the fronts api. This moves away logic from the controller into a trait and the extraction of JSON into a trait also.

Instead of creating new business objects, I decided to just keep the case classes closely bound to the JSON, and have traits that work around these objects. When/If things get more complicated in the future, separate objects can be created.

There could still be some more refactoring done around the responses, to make the more RESTy.

This pull request does not change how anything works, but does fix a few very minor bugs.