Enable public and private user profiles, tweaks to user registration

# What's new
* `is_private` field on User model.
* Using [pundit](https://github.com/elabs/pundit) for permission checking on viewing users.
* Added a fallback to english for translations. This doesn't seem to work all the time yet.
* Tests for new permissions things.

# In progress 
* [ ] test for password change when deleting user account
* [ ] Will have to investigate whether the automatically generate ApplicationPolicy is necessary.