Provide a 'scoped dealer' for threading

The dealer is the object responsible for providing sessions.  Using a
scoped session allows threadsafe use of SQLAlchemy.

From http://stackoverflow.com/questions/9619789/sqlalchemy-proper-session-handling-in-multi-thread-applications