Documents can now be merged

Created new abstract class Document that CreateDocuments and
MergeDocuments extend.

Still need to tidy a few thing, including extending DataGeneration class
to handle merging documents. At the moment a single argument of
"testMerge" can be used to merge cats and tags.

Metrics yet to be implemented.