Add andModify method to provide find_and_modify like behaviour

As discussed in issue #408 this creates find_and_modify like behavior.  I've also included some basic tests to get started with.