Clean up tests for external documents.
Always ensure document timestamps are set.
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.
Fix Post#normalize_document on Ruby 2.1 due to weird Array#to_h behaviour.
Document normalization: Convert class methods to instance methods.