Finish User Redesign

snap
1. Extends AbstractBaseUser, use is_active to determine membership,
use is_hackdo_admin to determine access to hackdo admin site.
2. Change affected code using new user model
3. Change settings for new user model
TODO: Add migration script
Fix small bug

bug fix
1. Add migration script
2. Fix auth.UserAdmin doesn't have is_hackdo_admin in the form bug
Fix bug in user creation form

bug fix
Create own user creation form, default user creation from will
use auth_user table.
Add django_extensions

snap
Added django_extensions, shell_plus is very userful
Use custom AuthenticationForm

bug fix
Allow inactive user to login
TODO: Assign different view for inactive user and active user