Contacts and tags

Every chat has a contact, with tags, custom columns, groups, and opt-in status.