Feature complete, but needs to be quality tested before release.

Also, stuck a temporary function `writeEntities` in `GlobalUtilities.py`
because the deferred API in the interactive console (to do a one-time
conversion of contact email properties to list) won't pickle the
function.
Enhanced s.exists.contact

Removed custom exist code in s.create.donation and put it all into
s.exists.contact.  Can handle lists and regular strings.

Also added validation to updating the contact.
Minor fixes after code review
Merge pull request #143 from rhefner1/issue-109

Issue 109