Enforce utf8 encoding

- Implements `Charset` middleware that encodes all param string values to the encoding requested in the `Accept-Charset` header 
- In `Hyperdrive::Utils` the provided encoding is 'matched' to a Ruby supported encoding via `Encoding#find`
- If `Accept-Charest` header is `*` it defaults to `UTF-8`
- If `Accept-Charset` header is not recognized a `Hyperdrive::Errors::NotAcceptable` error is raised 
Put the call to `Rack::Accept::Charset.new(env['HTTP_ACCEPT_CHARSET'])` above this line and assign it to a local variable instead of putting it in `env`