Sanitize and normalize documents when assigning, and don't update timestamp when nothing is being changed.
When assigning the document, ignore any key/value pairs that exist at the top level of the external document; ie. "unmerging" the document when assigning it, the reverse of Post#merged_document.