Password reset [PD-312]

Not sure if there was anything else to be fixed with this one.

I went to write tests for it and realized that the tests are all there-ish except for the user flow ones which are nearly impossible to write without selenium.

All tests pass.
This was an error that @aspidites caught a little while back about the static root being in the static dirs. Basically, when you use `manage.py collectstatic` it dumps all of the files into `STATIC_ROOT`, so you can't have that pointing to the same place as `STATICFILES_DIRS` because that's one of the places collectstatic looks, so recursion.