User pages

Adds the forgot password reset code and the change password and user info profile pages.
:+1: I like the use of ```else``` here.  Although setting a variable to a string is not likely to raise an exception (so this could probably go in the actual ```try``` bock), it's good to limit the code in the ```try``` block as much as possible, I suppose