Accounts refactor

The goal of this refactor is to get accounts to successfully "build" (`manage.py syncdb` returns no errors). Along the way, also double-check our logic and make sure we have an accounts model that can cleanly fulfill the following requirements:
* users may pass through several stages: first be a short-termer, then come as a full-time trainee, and eventually become a TA. we should be able to manage all these different roles under the same login, without having to manually recreate or merge data
* while each user may have multiple profiles, the system should understand that one role is the "primary" one, while others are complementary, and others are mutually exclusive. For example, a user cannot really be a TA and a Short-termer at the same time, yet every Trainee should also be a ServiceWorker
* permissions and groups should be able to be granularly based on the profile(s) the user has.

** Main Changes **
* added a new class `Profile