Share tags2

Supersedes #11351.
> There aren't too many apps around that use tags anyway, the most notable on being Contacts (which I'm continuously updating).

are you 100% sure about this?



> There isn't any Developer documentation yet, so the API isn't that much carved in stone yet as it hasn't been that "visible" to devs. (@Raydiation asked me to write docs, which I'll probably do once this PR is somewhat stablisied).

Not an argument at all! 


If it is really necessary to come up with a new tagging api this is the way to go:
1. deprecate the old api
2. implement the new api in addition to the deprecated one
3. notify the developer community about this change
4. after OC8 release we can remove the old depricated api