Refactor routes into controllers

- Created Controller base class
- Refactored route handlers into Controller instances
- Started using DI container aspects of Slim
- Reorganized templates to match routes
Add monolog via composer
Add error and 404 handlers

Add a production error handler that logs to php://stderr and displays
a nice error messsage to the user. Also add pretty 404 page.

This change introduces a dev/prod configuration switch. This isn't
pure in the spirit of a 12factors app, but the functionality seems
generally worthwhile. Core configuration is for a production release but
setting SLIM_MODE=development in environment will turn on some more
developer friendly error messages, etc.