Middleware definition through DSL

Solves #14

Example:
```ruby
Jeckle::Setup.register(:my_super_api) do |api|
  api.base_uri   = 'http://my-super-api.com.br'
  api.headers    = { 'Content-Type' => 'application/json' }
  api.logger     = Logger.new(STDOUT)
  api.basic_auth = { username: 'steven_seagal', password: 'youAlwaysLose' }
  api.namespaces = { prefix: 'api', version: 'v1' }
  api.params     = { hello: 'world' }

  api.middlewares do
    request  :json
    response :json
    response :raise_error
  end
end
```

More info: https://github.com/tomas-stefano/jeckle/wiki/DSL-Definition
I agree with @mateusg for a solution to define defaults manually. But, for now, I think that define defaults middlewares that aren't a safe bet (like logger) is unnecessary, the whole idea of Jeckle is to be flexible and handle edge cases, with this in mind we have a trade-off that is to abdicate of the most of the defaults and write more