Make old migration salting existing user passwords independent of User

Remove code from user, remove test and adapt migration.
Add option to prevent former passwords from being reused

Squashed from single commits:
* Add checks to prevent former passwords from being reused
* Make number of banned former passwords configurable

  Also group settings into fieldsets on the authentication settings
  page.
* Update TestUnit fixtures with UserPasswords
* Add migration for creating user passwords
* Fix new user password not being immediately used
* Add cuke for ban of former passwords
* Fix admin info showing whether admin password was changed
* Fix password check for user without password and fix tests
* Fix password complexity feature after translation changes
* Adapt my_controller_spec to UserPasswords
* Order UserPasswords by id

  created_at is not unique within one second, this breaks MySQL tests.

  id is guaranteed to be unique and monotonically increasing on MySQL
  and on Postgres(at least as long cache is not set for the sequence).
* Rename secure_compare to secure_equals?
* Immediately use reduced number of banned former passwords

  Only check number of former passwords as defined in settings. The
  number of stored passwords per user is only reduced when a user
  updates the password.
* Add missing copyright notices
* Update changelog
Fix _authentication.html.erb syntax
Remove broken Apache authentication module

The move of user passwords to the UserPassword table breaks the
authentication module. We should either add a similar module later
which asks the Rails process to do permission checks or move all of this
to a plugin.