The only difference between a club representative account and a member account
is how they are registered for terms. If you are already a representative for
the current term, you need only go through the membership renewal process to
become a full fledged member.
Office staffers do not have permission to unregister members
from terms in the current setup. This breaks with the way
python-ldap's modifyModlist function works, as it attempts
to delete the terms then re-add them. Use David Bartley's
function instead, as it does not have this problem.
This really only moves two functions: create_member and
create_club. Nothing else is left in accounts. Eventually,
it might make sense to separate it out again in a more
sane way (e.g. they should share the connection somehow).