3.0 - Postgres schema create + refactoring

This change implements basic table create support for postgres. I also had to modify a bunch of guts to make things work smoothly.

* Tables now separate indexes + constraints. This is mostly because both SQLite and Postgres handle them as very different things. I wondered if it might make sense to store them internally as separate things but only expose one set of methods. I'm open to changing back to only having the *index* methods.
* Parameters + return values were updated to afford index + comment creation in postgres + sqlite.

Let me know what you think. After this is fixing up Fixtures so they can create tables again :smile: