Bug 1097579 - Refactor Multicontact code to prepare it for contacts datastore implementation

...
Can you do all my reviews from now on? Pretty please? :grin: