MM: dump debug documents based on environment var

Introduce SW_DEBUG_MAILMERGE_DOCS=<n> to dump n mail merge debug
documents (partly merged and working copies).

This will speed up mail merge unit tests and allows dumping of
an arbitrary amount of intermediate mail merge documents.

Change-Id: Idb9fc19f99ccafe5574897bd1e687d439c52ebe5
MM: export the SwDocShell mail merge via UNO

This saves the loading time for large document. Use it if you
want to present the generated document to the user or write a
mail merge unit tests.

This includes:
  * renaming "only" to "shell" at multiple occurences
  * dropping the DBMGR_MERGE_SINGLE_FILE special type for the mail
    merge wizard in favour of an additional SwMergeDescriptor
    boolean
  * cleanup and renaming of the internal merge type enums, so these
    actually  match the diffferent merge targets: printer, email,
    file and shell

Change-Id: I33c6773972195193687ba9c3e12b562310d330c1
MM: add non-UI LoadAndRegisterDataSource function

For the mail merge unit test we need a function to register new
database sources without any UI interaction. This refactors and
introduces new versions of LoadAndRegisterDataSource, which gets
all previously interactive values as arguments.

Change-Id: I1601b4112ddc800a0935950133d386ce349b9087
MM: first unit test and infrastructure

Extendes SwModelTestBase with mail merge functions and a declaration
of the DECLARE_MAILMERGE_TEST macro and uses it in a first test.
As most tests it's registered as a slow test run by 'make check'.

The broken MM used to drop the leading empty pages, which resulted
in a document with 4 pages and the two page bound draws merged
per single page.

Tests the MM result for page count (eight) and each draw anchor to
be on a different page.

Change-Id: Iab17f5844e68221d48cb89863323bcfe4c8ae0d2
Constify dumpAsXml and friends

All these dump functions should never change the dumped objects
so 'const' all of them.

Change-Id: Id83422e3950a73e48feb4708fbd4c251506997e0