Added: First version of QpSqlBackend, which allows us to use differend SQL backends.
Added: Qp::lastError, which always returns the last global error.
Added: Transactions for schema adjustments and UPDATE and DELETE

Added two methods:
bool beginTransaction();
CommitResult commitOrRollbackTransaction();

The first is trivial. The second uses QSqlDatabase::commit or rollback, based upon whether Qp::lastError returns a valid error. Qp::lastError takes also QSqlDatabase::lastError into account, so that every SQL error should be registered.

The underlying database should now always be consistent.
WIP
WIP: Update times should be correct by now.
Merge branch 'feature36-creationUpdateTimes' of github.com:Kampfgnom/QPersistence into feature36-creationUpdateTimes

Conflicts:
	src/databaseschema.cpp
	src/sqlbackend.cpp
	src/sqlbackend.h
	src/sqldataaccessobjecthelper.cpp
	src/sqlquery.cpp
WIP: Update times should NOW be corrent at least in MySQL
Fixed: Usage of enum-type properties.
merged QpAbstractObejctListModel into QpObjectListModel
Added convenience methods to QpSortFilterProxyObjectModel
Removed idiot-methods from QpCache.
Fixed a major bug in DAO, where removing objects would lead to nullpointers in the list returned by readAll
Relations now clear themselves, when a nullpointer is passed to relate()
Merge remote-tracking branch 'origin/geenen' into feature36-creationUpdateTimes

Conflicts:
	src/relations.cpp
	src/sqldataaccessobjecthelper.h
WIP update times
WIP #36: Added tests. Rewrote much relation-stuff in Sqldataaccessobjecthelper to pass the tests.
Fixed relation behaviour of testmodel.
Improved assertion string when a class was not registered.
Fixed some issues in qpsqlcondition related to bindValues and rawString
Fixed update time for OneToMany relations