Add the User object and unit test.

This adds the User object, which is passed into every view. It
has `isAnonymous()`, `isAdvisor()`, and `isChair()` methods for
determining the user's type. This is useful for the RedirecView,
as well as enforcing the user is of a certain type to see certain
views.

Eventually we'll need methods to access the other fields of the
user, and we'll add them as we need them.
custom assert statements added
adds status errors