tests against sqlalchemy main test suite

This basically has two parts:

1. Add all the requirements that are used in the main tests suite
2. Fix a bunch of bugs in the sqlalchemy adapter
3. Add support to the sqlalchemy adapter that the sql layer now supports
Opening that requirement, causes the one test that uses it to run and pass.