User: replaced auth.User model references

This sets `settings.AUTH_USER_MODEL` to `auth.User` and `get_user_model()`
is used at run-time in place of directly importing
`django.contrib.auth.models.User`.

Fixes #194.
Cleanup: removed django-voting

Apart from being of no use for us, neither the required version (0.1) or
the latest version (0.2) are compatible with custom user models.
profile: Remove ui_lang from the profile
Auth: use Django's own `AuthenticationForm`

`lang_auth_form_factory()` already passed away and this is a natural
replacement.
User: introduced custom user model

This shares most of the fields of the `auth.User` model except:
- `full_name` is used instead of `first_name` and `last_name`
- `is_staff` has been removed; it had the same meaning as `is_superuser`

Note that his only introduces the initial DB schema and doesn't switch any
of the existing behavior.

Fixes #195.
User: switched to the custom user model

Swaps `auth.User` with `pootle.User` and provides the data migration.
Some user model-specific bits have been adjusted as well, but
`PootleProfile` still needs to be merged into the User model.

Fixes #196.
User: added profile fields and methods

This solely adds the fields, the data migration and other adjustments will
come in further commits.

Fixes #197.
User: migrated profile data

Note that old `PootleProfile` models should now be nuked and the
`profiles` app be retired accordingly.

Fixes #198.
i18n: Get rid of get_lang_from_prefs

The function uses profile.ui_lang which we are not using anymore.
i18n: adjusted docstring
User: adjusted references away from `PootleProfile`

Part of #199.
User: removed calls to `get_profile()`

This was both a method of old `User` models (which returned the linked
`PootleProfile` instance) as well as a function which returned the special
`nobody` user (which references any anonymous user).

The former is useless now, since there's no distinction between profile
and user models. The later has been converted into a class method of the
`User` model.

Part of #199.
User: fixed references to the user model

This required to traverse the relationship between the profile and the
user, but it's not the case anymore.

Part of #199.
Cleanup: aligned naming

Now that profiles are gone, it'd be confusing to keep using `profile`
everywhere. Note that `request.profile` still exists.
Added LoginRequired mixin for CBVs
User: adjusted profile views

Replaces the functionality which was relying on the `PootleProfile` model
(and therefore on the `profiles` app, which has now been (finally!)
removed).

Part of #199.
PootleProfile: get rid of it

The old data and behavior is now part of the custom user model and there's
no point in keeping this. We should probably move the views to a saner
place as well.
User: converted profile edit view into a CBV

Aligns with the other user details' editing views and reduces boilerplate
code.