QpStorage dynamically chooses the right DAO even when passed base classes like QObject
Merge pull request #31 from Kampfgnom/mpmbase

markAsDelete no longer leads to wrong object counts in ObjectListModel
Merge commit 'fec245a1b4106a2231648f206449ebc5dc6403bc' into feature/nw-refactor

* commit 'fec245a1b4106a2231648f206449ebc5dc6403bc':
  Squashed 'lib/QPersistence/' changes from 9a0a692..5725bb3
Add an assert for valid ids in DAO::readObject, which aids debugging
Added CSV exporter
Qp::creationTime added, which reads the time from DB when the object time is invalid
Fix all times to be converted to local time from UTC.

This commit assumes, that the DB uses UTC to fill out DOUBLE fields with CURRENT_TIMESTAMP, which is the default (and only useful) behavior.

A later improvement might include to query the timezone of the server.
Qp::LazyPixmap: Remove superflous debug output
Qp: Add operator== to all relations to ease creating object relations
QpStorage::update: Ignore unnecessary unreachable-return-warning for a QT_DEBUG qFatal
QpObjectListModel: Emit dataChanged for the whole row of an updated object
Qp::synchronize: Expose the synchronization-mode parameter to the public methods
Merge branch 'feature/nw-generalImprovements' into 'develop'

Feature/nw general improvements

See merge request !9
QpDao: Fix synchronization of updated objects
Fix Compilation problems with MSVC
QpMySqlBackend::variantTypeToSqlType handles QMetaType::Variant correctly
QpSortFilterProxyObjectModel: Moved much code to the base class
Qp::variantUserType can handle enums.
QpMetaObject::forMetaObject added
QpMetaProperty::nameFromMaybeQualifiedName added