Updating nested docs does not overwrite the doc itself.

Until now nested documents have always been replaced by PATCH
operations. From now on only fields included with the payload will be
updated.

Initial implementation was at the data-layer level (in mongop.py) was
taking advantage of mongo native support for 'dot' notation on the $set
operator. While that worked fine on the db (and was probably ideal
performance-wise), I ended up implementing the logic at the business
level so other data drivers can eventually take advantage of this
feature.

Closes #519.