Moved not committed retries to connection

because transactions don't actually use the database, it doesn't
really make sense for not committed errors to be on the db
this makes it more consitent and a little clearer what's going on
Added regular spec step to unit test instructions
Only need remove_transaction

Due to some testing I discovered overriding commit_transaction
and rollback_transaction were unnecessary
Cleaned up spec a bit
ADded specs for schema parsing

these are the cases that I thought looked a bit risky