Add better form error

bug fix
1. Add better form error handling
2. Change admin UI
[skip ci]
Change name of user home page in views and urls

small fix
rename function name
[ci skip]
ignore media directory

ignore change
media directoy should not be in the repo
[ci skip]
Finish user settings and gravatar

snap
1. Allow user gravatar (hackdo specific avatar later)
2. Allow user to change password in settings page
[ci skip]
Use customized password change form

validation
Password must be between 7 to 128 characters
[ci skip]
Add reject for payment

snap
Allow admin to reject a payment
[ci skip]
Add validation for changing user to member

validation
1. Only user whose membership review reqeust are passed can be change to
active member.
[ci skip]
Add invoice

snap
1. refactor requirements.txt
2. use html2pdf to add invoice, allow json/html/pdf
[ci skip]