Patch interface for subdocument update support
better tests, docs, and syntax