Change roles to bools and status to string

- Split role attribute (string) of User into three boolean attributes,
  admin, advisor, and student.

- Made this change to allow any user to have more than one role.

- Change approved and accepted attributes (booleans) of Project and
  Submission into strings named status. They can occupy the values
  "accepted", "rejected", or "pending".

- Made this change to properly account for "pending" status.
Add first Notifier tests
Allow non-signed in users to view projects
Add attributes to projects and submissions

- Also add form fields for these attributes
- Also add new attributes to views
Prevent users from applying when they already have

Also add 'affiliation' and 'department' attributes to users table.