[Contact] Expose interfaces and refactor unit test

According to spec, interface of Contacts, ContactField, ContactTelField,
etc. should be exposed to user.

Also including fixing of finding option, impp handling, and note data map.