Implement Action#format

Closes #15
I tried to test most common cases of lookup because there's order dependency with `Rack::Mime::MIME_TYPES` (eg. `text/html` maps to both `.htm` and `.html`). 

I'm thinking about solution for this. What do you think about creating list of possible formats from mime types passed into `::accept`?

```ruby
def accept(*mime_types)
  formats    = Hash[ *mime_types.map { |mt| [mt.to_sym, ::Rack::Mime.mime_type ".#{ mt }"} ]
  mime_types = formats.values

  before do
    unless mime_types.find {|mt| accept?(mt) }
      halt 406
    end
  end
end
```

Otherwise we might have problem like this:
1. `Accept` sets `Content-Type` to 'text/html' because of `::accept :html`
2. Call to `#format` will return `:htm` instead of `:html` because order in `MIME_TYPES` has changed

```ruby
# from:
{
  '.html' => 'text/html',
  '.htm'  => 'text/html'
}

# to:
{
  '.htm'  => 'text/html'
  '.html' => 'text/html'
}
```



Integration test means going through rack's `MockRequest`, how can we access instance of action to get to `#format` and `#content_type`? Also, isn't such case already tested here: https://github.com/lotus/controller/blob/master/test/integration/mime_type_test.rb#L63