Improving user accounts

Many improvements to user accounts were made by using django-user-accounts. Testing is still required before this can be taken live.