handle findAndModify edge cases

also give better error messages
Merge pull request #15 from gregwebs/fix-findAndModify

handle findAndModify edge cases