Management commands and extra functionality

@vladimir-v-diaz , Could you please review this?

There are four files and settings is unimportant (commit 79ce450) so that makes three effective files for review. The management commands are the same thing, so reviewing only demote user -- which is more complicated -- and then skimming through promote_user is more than enough; hashers.py is the real deal here.

Also, @justquick , since this is a big enough patch/update, could you also give it check?

Consider validating arguments throughout the module(s).  Should there be a minimum value set for `iterations`?