First implementation of password resets
Merge branch 'master' into forgot-password