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>
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
Add `reload!` to `lotus console`

This patch adds a `reload!` method during `lotus console` sessions, much
like what is available during a `rails console` session. `reload!` will
simply call `Kernel.exec $0` to re-execute the running process after
outputting a message that it is doing so.

Signed-off-by: David Celis <me@davidcel.is>
Add section in README on CLI commands

`lotus server` and `lotus console` were added in
https://github.com/lotus/lotus/commit/f342c2095f79e2c3d354c87b0d3e427eb7c23546 and
https://github.com/lotus/lotus/commit/c5f38376c4e1bc822a29d96005f42bd6f970db25
respectively but are not documented in the README.

This adds a short description of the commands to the README as well as
documenting what the command assumes to be in place.
Merge pull request #47 from JoelQ/add-cli-commands-to-readme

Add section in README on CLI commands
Merge pull request #46 from davidcelis/reload

Add `reload!` to `lotus console`
Document support for Configuration#mapping.
Comment typo in application.rb
Fix reloading of lotus console
Merge pull request #50 from Xuhao/patch-1

Comment typo in application.rb
Merge branch 'console-fix' of https://github.com/krasnoukhov/lotus into krasnoukhov-console-fix
Merge branch 'krasnoukhov-console-fix'
Allow configuration of Cookies.

Allow the `Lotus#configuration` to inject the `Lotus::Action::Cookies`
module in your application’s controller.

When the application is loading the framework,
`Lotus::Loader.load_frameworks!` will inject the before mentioned
module if the configuration is set.

Closes #1.

Signed-off-by: Josue Abreu josh@pixelpt.com