Add admin reset password interface

* refactor password-changing utils to a new file