Attempt to avoid Encoding::UndefinedConversionError.

We've been seeing this error in our Rails app in production when a request is
made to the `Ahoy::VisitsController#create` action when the user-agent HTTP
header contains non-ASCII characters.

According to RFC5987 [1]:

> By default, message header field parameters in Hypertext Transfer Protocol
> (HTTP) messages cannot carry characters outside the ISO-8859-1 character set.

This implies that non-ASCII characters such as 0xE9 (é) should be allowed, but
they result in the exception mentioned above.

I can reproduce the problem locally using a `curl` command like this:

    curl --user-agent "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12B436 [FBAN/FBIOS;FBAV/18.1.0.14.11;FBBV/5295262;FBDV/iPhone7,2;FBMD/iPhone;FBSN/iPhone OS;FBSV/8.1.1;FBSS/2; FBCR/Méditel;FBID/phone;FBLC/fr_FR;FBOP/5]" --request POST --data "foo=bar" http://localhost:3000/ahoy/visits

It feels as if this is something that should be fixed for all HTTP headers and
it should probably be fixed in Rack, or wherever the headers first make it into
Ruby-land.

However, pragmatically, we're only seeing this exception happen for user agents
at the moment, so I've decided to attempt to fix the problem here.

[1]: http://tools.ietf.org/html/rfc5987