`Contact.clone` should perform a deep clone.

Documentation describes method as:

"Returns a new Contact object that is a deep copy of the calling object,
with the id property set to null.:

When dealing with a property that is an object, itself, the
current way a Contact was copied would result in that object being the
same (and not truly copied).

Example:

    var a = new Contact({name: {givenName: "Dave"}});

    var b = a.clone();

    b.name.givenName = "Steve";

    console.log(a.name.givenName); // => "Steve"

Note: This also meant some matchers in tests had to be changed to
`toEqual`, vs `toBe`.

Reviewed By: Nobody
Tested By: Nobody