Week5

Including:

- Integration test for resetting password
- Invite Users feature with test
- Refactor with Concerns
- Use Mailgun to send out emails in production
Usually I don't use like this. It saves to DB twice in 2 lines.

But this method is preserved for practicing refactoring with concerns.