Calculate initial documents, first attempt

Basic tests and `const mempty` implementation.
Calculate initial documents by taking intersection

Should be re-written as a fold of Data.List.intersect
Make diffOpIsX preds a little safer in the face of more constructors
Merge branch 'master' into wip-calculate-initial-docs

Conflicts:
	src/Retcon/Document.hs
Merge lists, not pairs, of diffs