THINK-247

This branch a new developer behaviour of branching per sub-task. As our branches start to implement larger features that require more complex logic this makes sense. However we probably want to start doing rebases rather than merges.

This branch represents the start of the work on invite_tokens, share_tokens. There is significant complexity in the api_controller that I'd love @twinge to take a look at.
right but this particular method is private so it shouldn't carry across its child classes. As for handling the case where @visitor is not created I'll add in protection for it.