- made basic_statement::step() protected, for use by query and command only - moved basic_statement::operator<<() to command and query instead; one needs to accept sqlite::exec, the other doesn't - added tests for query::operator<<() - added code to invlaidate in-progress queries during any transaction rollbacks (currently segfaults in basic_statement::finalize()) - added new sqlite_error constructor that obtains a full error message - implemented database::database_mutex_guard class - swapped command's step mutex in favour of the database mutex