Fix initial passwords

For new accounts, not yet approved, the password is encrypted in a
openldap specific manner and stored in the user.password field. Once the
account is approved, Karaage copies the user.password field and uses it
to set the password. For people that have no accounts, Karaage requires
an LDAP entry in case the person is ever upgraded in the future to have
another account.

This creates a number of probems as described in
https://github.com/Karaage-Cluster/karaage/issues/198

However if we remove this kludge, we need some way of being able to set
the user's password when the user's account is approved (by
administrator) without storing it in plain text format.

This change requires the user set the account's password after the
account is created, not before as currently is the case.

This change also removes the requirement that every person must have an
LDAP entry. Only people with accounts require LDAP entries. Still need a
better way of dealing with existing people who already have LDAP
entries.

Fixes #198.

Change-Id: I5d21b43194522f3f572ff658b15fef5e815acf4b