Add a function for automatically generating a unique ID from first/last name with proper setup/teardown of db

This basically supersedes #27, because I had to figure out how to do proper setup/teardown of a test database to run @jiffyclub's tests.
@jiffyclub, I changed this function to take a session object instead of generating its own because it's apparently a [best practice](http://docs.sqlalchemy.org/en/rel_0_9/orm/session.html#when-do-i-construct-a-session-when-do-i-commit-it-and-when-do-i-close-it)...