User roles

There are now three roles:

```rb
Role.everyone
Role.full_hacker_schooler
Role.admin
```

Every user has the `everyone` role, Hacker Schoolers whose batch has started additionally have the `full_hacker_schooler` role, and faculty have every role.

Subforums have `required_role_ids`, and a user can only see that subforum (and the containing threads/posts) if they have the required roles.
Perhaps instead we should change the name of the method to `satisfies_roles?` instead of `has_roles?`. It's current definition is useful: 

```rb
user.has_roles?(*subforum_with_no_required_roles.required_roles)
```

But calling it `has_roles?` still doesn't bother me much – I think of it the same way as `String#start_with?`:

```rb
"foobar".start_with? "" # true
```