Fix for UTF-8 encode/decode errors with FreeTDS.

This fixes the problem of UTF-8 strings containing wide characters (e.g.
Chinese, Japanese and Korean) getting mangled when it is transmitted to
the the low-level pyodbc module. It does this in one of two ways:

1. Fix the naive and outdated assumption that FreeTDS does not support
   UTF-8. We do this by automatically detecting the FreeTDS version in
   use. Starting with FreeTDS version 0.91, there has been significant
   improvements to UTF-8 support.

2. Allow `driver_supports_utf8` to be set via `OPTIONS`. If set, this
   controls whether or not the query string is decoded to ASCII as UTF-8
   before sending it to pyodbc. If this option is set to `True` we send
   query string to pyodbc as UTF-8. Otherwise we send it as ASCII.
Require at least pyodbc>=3.0.6