Add Django-style password upgrading.

This will check if the method, rounds and length used in the password is equal to the current recommended settings. If not, it will "upgrade" the hash using the current recommended settings.