Improve password complexity requirements

Add a new Passwords module, which evaluates and generates passwords.
Adapt User to use this module.

In addition to checking the length, the module verifies that a password
contains a certain number of character classes like uppercase/lowercase.
These classes can be configured in the authentication settings.

Also increase the default minimum password length from 4 to 10.