Make a basic User model (including secure passwords)
Finish Chapter 6 exercises

- Testing for email downcasing on save
- Refactor the before_save callback
- Invalidate 'double-dot' domains