Add empty files for start of schema re-write.
Money validation accepts one decimal place
Start adding methods + tests to Table.

Start adding methods for column adding and reading.
Start to add indexes.

This still needs a pile of work.
Add basic index support.

Basic indexes can now be added. Foreign keys are not complete yet.
Added tests
Remove empty foreign key test.

Foreign keys are not needed for the very first step of
re-factoring/building this feature. I'll add them back later on.
Add skeleton methods for Schema\Collection
Start moving Schema Dialect features to Schema/Dialect

Move code + tests for converting columns/indexes.
Add stubs for Postgres + Sqlite schema dialects.
Migrate listTables() to SchemaCollection

Migrate the methods + tests for listTables() to the new schema
system.
Move Mysql describe() and tests to Dialect system.
Move Sqlite code into Schema/Dialect
Move postgres schema features to SchemaDialect
Clean up tests a bit.

Fix incorrect namespaces and add destructors to clean up connections.
The automatic disconnection helps solve too many connection errors with
postgres and help reduce memory usage.
Rename files

I find it is easier to keep editor tabs straight when there are fewer
files with the same name.
Enforce model aliases when generating order by clauses.

Invalid SQL could be created by sorting on an invalid alias, with
a field that exists on the model.

Fixes #3797
Merge pull request #1251 from ADmad/3.0

2.4 => 3.0
Add Table::primaryKey()

Since we often need easy access to the columns in a table's primary
key make that easy to get with a simple method.
Store the primary key in Table objects generated by describe.

Most of CakePHP will need to know about the primary key, store
that in the Table instance generated by basic describe().