Session Authentication Functionality

This is in reference to #85. It provides a method to give the user a little more control over which routes require a login, and how to login a user.