Allow session configuation

* add #sessions Lotus::Configuration, used to enable and configure sessions
* add Lotus::Config::Sessions responsible for sessions configuration and
  sessions middleware construction
* move assets middleware construction to Lotus::Config::Assets to be
  consistient with sessions
* include Lotus::Action::Session to controllers if sessions are enabled
* defer loading default middleware stack (assets and sessions) to load time,
  and not middleware stack initialization.
* change Lotus::Config::Middleware tests to account for the
  configuration loading that happens at application initialization, test
  for disabled assets was false positive in previous setup

Closes #2
`Middleware#use` would append middleware to the stack, `@stack.unshift` prepends it. As this is lazily loaded default middlewares would end up as the last ones. It was the first middleware in the stack before, and I wanted to keep that order. I think it might be important for perf reasons - Rack::Static is short-circuiting the stack if it finds the file. On the other hand if we have sessions at the top of the stack other middlewares may access the session. If the order is not important I'll be happy with using `Middleware#use` here.