Contact structures

A more complete contact storage design

Contact contains a set of related objects to store specific informations:
- organizations
- postal addresses
- emails
- instant messaging address
- phones
- social identities
- public keys for encryption