Fix LDAP user creation

When a new user logs in that isn't in the users table, but successfully
authenticates with LDAP, a user record should be created for them.  In
commit b92f1e4f03fad2fa1a60edcbf71073b3a6619c7c I had moved the setup
for LDAP attributes into an `:after_initialize` callback.  Apparently
I didn't test it hard enough (or at all for that matter).

If a user doesn't exist in the database, then the Devise LDAP module
will first instansiate a new User instance, which is completely blank.
After the user is instansiated, it sets the username.  But by this time
the `after_initialize` callback has already run - which didn't do
anything because it didn't have a username to lookup an LDAP record
with.

There were two possible solutions.  Firstly, browsing the source for the
devise_ldap_authenticatable gem, there seems to be an undocumented
method, `:ldap_before_save`, that will get called before the new record
is created.  Adding this method to the User model and putting a call to
`:setup_user_attributes` in there works, but relying on an undocumented
method is kinda sketch.

The better alternative is to change the `:after_initialize` callback to
`:before_validation`.  This has the same effect, and is what is
documented in the wiki for the gem.  So that's what we did.