Added Generator which generates code based on the table definition.
Support overloading the Record class.
Added Table::autoGenerateModel for autoloader
 This method allow you to use none existing model classes (during development)

Added Table::exists and Connection::tableExists
Fixed check to not overwrite file by Generator
Fixed MySQL\Connection::getAllTables()
Fixed MySQL\Table::describe() $primarykey issue
Fixed broken Table::autoGenerateModel()
MySQL::Table::$primarykey is null when not determined yet
Moved Table::autoGenerateModel to Generator::autoload
Added Generator::generateTable
Tables now have method Table::getFieldDefaults which returns uncasted values
Renamed Table::getIdentifier to Table::getPrimarykey
Named connections allows registering multiple connections
Added functions `Connection::useAs` and `Connection::getName()`
Remove function `Connection::asDefault`, you can now do `Connection::useAs('default')`
Added `Connection::load()` as shortcut
Allow the use of base classes (as seen in Symfony 1.x)
`MySQL\Table::factory()` and `FooTable::factory()` creates an instance of that table.
Make the Generator work without doing class_exists(Table), so it have the autoloader enabled isn't an issue.
Added field type binary and varbinary
Improved the code to convert a MySQL field type to a PHP type
Fix Generator::usesBase()
Fix setting the hash in Generator::save()
Fixed issues with castType
Added caching to generator
Use Generator::autogenerate() instead of registering the autoloader yourself
Removed option to save generated code to model path. This will most likely only cause headaches.
Rename Generator::autogenerate() to Generator::enable()
Use namespace for cached file path
Added Table::fetchValue
return null for $id === null in Table::fetch
Fixup
Added Record::cast() and Table::cast($record).
Also changed the Generator to use Record::cast.
Cast everything regardless of what type the DB returns
Cast directly instantiated Records when setting the table gateway.
Renamed DB\Generator to DB\ModelGenerator as it doesn't generate a DB (which might have become confusing)