NEW: Improve the unittest running time by not truncating tables

When clearing tables this will delete all rows instead of truncating it.

Benchmarking this change by running the full cms and framework test suit changed improved the running time from 32 minutes to 9 minutes.

If truncate functionality is needed for any special cases it should be run as

    DB::query("TRUNCATE \"TableToTruncate\"");
Merge pull request #22 from stojg/unittest-speed-improvements

NEW: Improve the unittest running time by not truncating tables
Better error handling and support passwords with spaces in them
FIX: PostgreSQLDatabase::selectDatabase() should switch to the database if it exists.

Previous implementation of PostgreSQLDatabase::selectDatabase() just updated internal
registers, and expected connectDatabase() or similar to be called.  This is out of line
with MySQLDatabase's behaviour, and frankly a bit stupid.  FullTextSearch's test system
expected different behaviour from selectDatabase() and so this is needed to fix that.

Since it's making PostgreSQLDatabase match the behaviour of MySQLDatabase, I don't consider
it an API change.
Merge pull request #24 from sminnee/fix-select-database

FIX: PostgreSQLDatabase::selectDatabase() should switch to the database ...
FIX: Fix fatal bugs in previous commit.
Added travis support
API Upgraded module to use new database ORM