Simplified Interface for MonadSnap context

This allows us to run the authentication process outside of a Handler, within anything that implements MonadSnap.
Addressing this in my latest commit.