-Completely refactored module system such that both pages and APIs live in /app and are namespaced, with sub directories mirroring the request URLs.
-All controllers can and should now throw MudpuppyExceptions (and its subclasses) to indicate error codes and messages instead of directly calling App::abort(). This adds additional info to the logs and is more clean and robust. Note that you can put debug-level content in the exception messages, which will be logged, but in production the output will just be standardized.
-There is now a user specified class to complement App, which will allow further customization of the environment. Currently, it must implement an initialize() function which is where any app-specific startup tasks would be performed.
-Added the beginnings of an admin area (at /mudpuppy/), in which the error log (renamed to DebugLog) now lives (at /mudpuppy/log), and refactored the _updateDataObjects script to be an API call in the new admin controller.