Add connection_parameters and ODBC_OPTION_DRIVER_COMPLETE option.

These commits add `connection_parameters` class which is a simple container for the backend, connection string and possibly some options, i.e. simply name/value pairs. It changes the factory classes to accept `connection_parameters` instead of a simple string for future extensibility and updates the ODBC backend to honour the value of `ODBC_OPTION_DRIVER_COMPLETE` option to allow specifying the "driver completion" parameter of `SQLDriverConnect()`.