Password reset UI (fairly verbose)

Requires the `reset` branch of the API