Fix windows.h case for cross-compilation

Patch from Michael Surette received through soci-users.

While the Windows filesystems are case insensitive, other systems are case sensitive.  While cross-compiling all lower case filenames seem to be the norm.  Both MinGW and Cygwin seem to have windows.h in their APIs.  See http://sourceforge.net/apps/trac/cppcheck/ticket/4636 for a short discussion on this issue.
Ignore Qt Creator and Eclipse files
Move tests/assert into separate subdirectories

Update CMake configuration to properly set building dependencies for
test targets (ATM, enabled for empty and sqlite3 only).
Closes #199.
Make a few additional CMake configuration updates and improvements in
handling external dependnecies/libraries.
Enable other tests in tests/assert

Update related to #199.
Fix includes to point to backend headers in subdirectories

wip: updates related to #125 and #199 for further cleanup in CMake
configuration is advised to fully use buried headers and change includes to:
<soci/soci.h>
<soci/mysql/soci-mysql.h>
etc.
Fix copy-n-paste error in CMake macro parameter name
Fix Firebird includes of private headers
Fix paths to ODBC test DSN files
Move ODBC test DSN files to new tests location
Revert CMake setup for ODBC DB2 test
Delete obsolete src/<backend>/test directories

All the content has been moved to tests/assert/<backend> as part of #125
Fix compilation of ODBC-specific SOCI header with new include paths.

If only soci/include directory is in the compiler include path, including
<soci-backend.h> doesn't compile, as it should be included as
<soci/soci-backend.h> or, as this patch does, "../soci-backend.h", which is
uglier but simpler as it doesn't require changing any SOCI makefiles.
Add helper cstring_to_double() and use it in PostgreSQL backend.

Replace PostgreSQL-specific and incorrect string_to_double() function with a
common (i.e. reusable) cstring_to_double() which always interprets the string
as being in "C" locale as this is what the actual strings, retrieved from the
database, use.
Merge pull request #237 from vadz/odbc-header-fix

Fix compilation of ODBC-specific SOCI header with new include paths.
Merge pull request #238 from vadz/cstrtod

Add helper cstring_to_double() and use it in PostgreSQL backend.
Include all public headers using "soci/" prefix inside SOCI itself.

Harmonize the inclusion style of the headers from inside and outside the
library and always use the "soci/foo.h" form.
Merge pull request #239 from vadz/soci-headers-prefix

Include all public headers using "soci/" prefix inside SOCI itself.
Update version to 4.0.0.

This makes it easier to distinguish the builds using "develop" branch from the
one based on the stable 3.2 branch.
vs2013 got strtoll/strtoull
Fix PostgreSQL unit test to pass with PostgreSQL < 9.0.

The output format for bytea values in PostgreSQL was "escape" until version 9
in which it was changed to "hex", which is what the current tests expect.

Explicitly check "bytea_output" parameter to make the tests pass with both 8
and 9 (alternative would be to always set it to "escape" on connection, but it
seems better to test the default behaviour).