User authentication

Add ability for users to log in and log out. Resolves #10 
Does this work because the factory definitions are the same?  It's not clear to me how creating a user and building a session ties the 2 together.