Update tagging logic.

Tags are a special-cased subrecord with custom view for updates.

This allows us to fire custom triggers on team changes for e.g. referral logic.

refs openhealthcare/elcid#227
First implementation of new tagging.

refs openhealthcare/elcid#227