Start adding soci::connection_parameters class.

Right now this is just a trivial wrapper for the backend and connection string
and no extra functionality but it will be extended with connection options
support in the subsequent commits.

No changes in behaviour, this is a pure refactoring.

Signed-off-by: Vadim Zeitlin <vz-soci@zeitlins.org>
Use "class" keyword instead of "struct" for backend_factory.

No real changes, but just use "class" for consistency.

Signed-off-by: Vadim Zeitlin <vz-soci@zeitlins.org>
Update all backends to take connection_parameters instead of connect string.

There are still no real changes as only the connect string part of the
connection parameters is currently used, but this will make it possible to use
other information stored in connection_parameters from the backend code in the
future.

Also replace session::lastFactory_ and lastConnectString_ with a single
lastConnectParameters_ making the code slightly shorter and simpler.
Fix "next" link on the errors documentation page.

It should be to connections.html, not the (non existent) basics.html.
Add support for odbc_option_driver_complete connection parameter.

Allow passing arbitrary options via connection_parameters and add support for
an option allowing to specify the "driver completion" mode, i.e. the degree of
interactivity of the driver, in the ODBC backend.

By default now do ask the user if the DSN doesn't include the user name and/or
password for the connection but the old behaviour is still available if
ODBC_OPTION_DRIVER_COMPLETE option is set to SQL_DRIVER_NOPROMPT before
opening the session.
Document connection_parameters class.

Document the new session ctor taking connection_parameters and the class
itself in the references page.
Merge branch 'vadz/soci/params2' into upstream

Closes pull request #99.