Added tests for FindAndUpdate.  We still need to add validation to make sure users don't do a replace operation accidentally.
Tidied up stuff noticed via code review.