Add Testcase demonstrating fail on join

When a join is attempted while the transaction is in COMMITFAILED
zope.sqlalchemy is left in an inconsistent state.

See https://github.com/zopefoundation/zope.sqlalchemy/issues/2
Move join to before _SESSION_STATE is set

If the join() errors, _SESSION_STATE does not get
wedged.

fixes https://github.com/zopefoundation/zope.sqlalchemy/issues/2