Reset Password UI and API

This implements the reset password UI and API as per #111.  It has a few other commits that sneaked their way into this branch.  Doing a PR in case anyone wants to review.