add support for fallback charsets, closes #27

Fallback charsets are supported in the DSN like this:

`user:password@tcp(localhost:5555)/dbname?charset=utf8mb4,utf8`

this first attempts to set the charset to `utf8mb4` and sets it to `utf8` when it fails.