Streamline error handling in PostgreSQL backend with postgresql_result.

Make sure all PGresults are always correctly deallocated by wrapping them in
RAII postgresql_result class and simplify the error handling code by
integrating it into this class as well instead of copying the same code in
multiple places.

The only user-visible change is that postgresql_soci_error is now thrown even
if the connection to the server is completely lost, while a simple soci_error
was thrown before in this case.
Fixes the compilation of the firebird tests with the backend as DLL.
The global variable for the backend factory can't be accessed directly.
Fixes it by using the function designed for this purpose as other backends do.
Allows cmake to find 32-bit DB2 on Windows x64.
Fixes test_prepared_insert_with_orm_type with DB2.

DB2 backend seems to follow the implementation ODBC one, so this fix is almost a copy of odbc_standard_use_type_backend.
db2_standard_use_type_backend calculates the size of variables during bind() while ODBC does it during pre_use().
If the value (strings specifically) has its size changed between bind (statement::prepare) and pre_use (statement::execute) the backend will have the previous size.
This difference results in wrongly sized buffers what may lead to memory corruption.
Allow Travis builds for all branches.

Removed filters allowing builds for gitflow branches only.
Format.