Added new class : DQSqliteEngine - Sqlite database engine
Added DQConnection::setEngine() and engine() functions. By default , it will use DQSqliteEngine.
Added src/dqengine.cpp to hold the default implementation of DQEngine abstract class
Refactor DQConnection to use DQEngine : DQEngine::open() and close() are used
Refactor DQConnection to use DQEngine : Deprecate DQConnectionPriv.m_models. It is replaced by DQEngine::modelList()
Added DQModelMetaInfo::primeryKeyList() - prepare for multiple primary key support.
Refactor DQSql::insertInto() and replaceInto() - Now it takes DQAbstractModel as input argument rather than DQModel
Refactor DQConnection to use DQEngine : createTables() and dropTables() function have used DQEngine already
Refactor DQConnection to use DQEngine : Deprecated DQConnectionPriv::m_sql
DQEngine - Added virtual destructor to prevent memory leakage
DQModel::save() - Use DQEngine::update() for save.
Added new class DQQueryEngine : Database query engine abstract interface
Added src/backend for holding headers for backend implementation. It is designed for user who want to implement their DQuest backend.
Added new backend class : DQBackendQuery - The database query backend
Refactor DQSqlStatement::select() and deleteFrom() : Now it takes argument of DQQueryRules instead of DQSharedQuery.
Added new class : DQSqlQueryEngine -  Generic SQL Query Engine
tst_sqliteteststest.cpp - Added a new test case lastQuery() to verify the lastQuery() function in DQConnection
Refactor the interface of DQEngine: The original query() is renamed to sqlQuery() , and added a function :DQBackendQuery query(DQQueryRules)

It is going to use DQBackendQuery.
Refactor DQSharedQuery : Now it uses DQBackendQuery to query instead of using QSqlQuery.
Deprecate DQConnection::sql() and DQEngine::sql() function. The DQBackendQuery could replace their function . No need to export DQSql to public any more.