Allow configuration of the Middleware stack

Move the functionality of `Lotus::Middleware` from the application to a
configuration block to allow users to configure the middleware stack.
When the application is loaded, `Lotus::Middleware#load!` will still get
called to load the final middleware stack into the Rack::Builder app
that wraps the router.

Closes #27.

Signed-off-by: David Celis <me@davidcel.is>
Add a call to root in the microservices examples

The microservices example as documented will currently not work, as the load_paths references `controller` and `views` directories inside the microservice's directory without setting the root of the application properly.

This change updates the example to have it work correctly.
Merge pull request #41 from ryanbrunner/master

Add a call to root in the microservices examples
Handling different application configs per environment
Merge branch 'pkurek-config_per_env'
Refactoring for Lotus::Configuration's multiple environments support
Fix Lotus::Frameworks::Action::Rack#response — use prepend to insert the module before Lotus::Action::Rack#response (calling super to get the default result)
Merge pull request #44 from bronzle/fix_frameworks

Fix Lotus::Frameworks::Action::Rack#response
Merge branch 'config-middleware' of https://github.com/davidcelis/lotus into davidcelis-config-middleware
Merge branch 'davidcelis-config-middleware'
Refactoring for Lotus::Configuration#middleware, this also includes fixes and test improvements