Added exception when trying to update contact with no ID to prevent HTTP 405 errors.

UpdateContact would allow you to execute with no ID, resulting in a PUT
request to the contacts collection and a method not allowed error
returned from the API. Added an exception that is thrown when a contact
update is sent with no ID.