Added validations + methods for Invite model

Created following methods:
* Invite.use

Completed functionality for the following tests:
* must have a type
* should decrease quantity by 1 after being used
* cannot have negative available quantity