Add usermod option to shadow.set_password (fixes #3655)

If the user specifies `use_usermod=True` then we update the password hash with `usermod -p`.  Otherwise, edit the shadowfile directly, which is more secure but less feature-complete.