Add a manages_password_salt feature for user type
Previously, the user type implemented the 'salt' property for
PBKDF2-style password hashes. Unfortunately, this caused user
providers that didn't implement getter/setter methods for the salt
property to raise errors.
This commit implements a user type feature called 'manages_password_salt'
that is required for the salt property. Because of this change, only
the providers that require the salt property should implement the
manages_password_salt feature, thus saving the other user type
providers from raising unnecessary errors.