3.0 - Start schema system

This is a very early start of the schema system. So far I've only migrated the pre-existing `listTables()` and `describe()` methods over. I wanted to try and keep each PR sane which is why there isn't anything else in here.

Next I'll start working on adding fixed length string fields to better support `CHAR()` fields, and also converting `Database\Schema\Table` objects into create table statements so we can start re-enabling fixture based tests.