Added extra format support

Added namespace support
Support sources linked to themselves by foreign key (E.g. parent/child
in family)
Support option of merging several source docs in to output, rather than
always creating a new denormalisation