The labels -> content link table should include (possibly using ConfluenceEntityObject properties:
- Who labeled the content (lastModifierName?)
- When the label was applied (lastModificationDate?)
- Space key to which the label was applied (may be null)
Rather than have lots of different classes of labels, the label table should store prefix and labelname (so my:favourite has prefix 'my') and we do label type lookups by distinguishing on prefix.