Use composition over inheritance for Lotus::Action::CookieJar

Before:

  irb(main):001:0> require 'lotus/action/cookies'
  => true
  irb(main):002:0> Lotus::Action::CookieJar.new({}, {}).methods.size
  => 151

After:

  irb(main):001:0> require 'lotus/action/cookies'
  => true
  irb(main):002:0> Lotus::Action::CookieJar.new({}, {}).methods.size
  => 59
  irb(main):003:0> Object.new.methods.size
  => 56
Use composition over inheritance for Lotus::Action::Params

Before:

  irb(main):001:0> Lotus::Action::Params.new({}).methods.size
  => 151

After:

  irb(main):001:0> Lotus::Action::Params.new({}).methods.size
  => 58
  irb(main):002:0> Object.new.methods.size
  => 56
Introducing Lotus::Controller.generate as shortcut for .duplicate and .configure
Let Lotus::Controller.generate to set action_module
Reference exception in rack.errors
Add test for exception with custom #to_s method
Add custom error message and exception backtrace to `rack.errors`
Simplify building exception message

Also fixes problem with exception without message, in such case class
and message are equal
Pretty print exceptions in rack.errors
Merge branch 'zlw-rack_errors'
Removed Lotus::Action::Throwable#throw in favor of #halt
[ci skip] Changelog
[ci skip] LICENSE.txt -> LICENSE.md
Gem: build only with lib/ and essential files
[ci skip] README
Updated README documentation
Lotus::Controller: .duplicate => .dup, .generate => .duplicate
[ci skip] Documentation for Lotus::Controller and Lotus::Action
Controller.duplicate can accept nil controllers namespace
[ci skip] Documented all the Lotus::Action modules