Major overhaul, added some tests, added MySQLGenerator, cleaned up MySQLBackend