Add user authentication and role authorization backends

  This installs Devise for authenticationa which creates the bulk of the user
model attributes. Using a through table called user_roles we associate the
the user model with the role model, which will be the basis of Cancan's authorization.