ooxml: preserve docPartList property in sdt blocks

This patch strictly reuses the code introduced at commit
55211e612d2cbed03dd81c039d07ea4e936c2804.

Change-Id: Ie9151c81c2cb63d0f4a320293b6e5d27f20d4043
ooxml: preserve checkbox sdt control

Checkbox controls in docx are implemented with a sdt block containing
the property w:14:checkbox, which has several child elements.

To implement the preservation of the field, we had to add several
tags to the ooxml model file. Notice they belong to namespace w14,
that's why we had to add a redundant definitions of CT_STRING,
ST_STRING and their actions. Then, we just used the existing
mechanisms on the importer and the exporter.

Finally, added a unit test.

TODO: the checkbox is preserved on export but it cannot be modified.
We should import it like we do for combo and date boxes.

Change-Id: I40f29b48ec24719c48482b9c8cff10176d1b188d
ooxml: import combobox sdt control

This patch modifies the importer to reuse the code that imports the
dropdown control and creates a combo box with it.

The only drawback is that the combobox tag is transformed into a
dropdownlist when exported back, but it doesn't seem to be an issue
from the point of view of the user.

Change-Id: I340d0cf02d8c5ea575ad4784a1242d2a3e9bd214
fdo#76327: only enclose the checkbox in the sdt block.

The exporter writes the sdt blocks enclosing an entire paragraph, but
that's not the proper behaviour in all cases. The documents that mix
checkboxes and text in the same paragraph export the text inside the
sdt box and that's incorrect.

We have added code to be able to write sdt blocks that enclose
paragraphs or text runs, depending on the type of block. We have
applied it to checkboxes now.

There are two sets of properties in DocxAttributeOutput that store
sdt properties for the text run and for the paragraph. We have
modified the method WriteParagraphSdt to be generic enough to support
both cases. To write the sdt block enclosing the text run we used
parser marks.

We have renamed the property id PROP_PARA_SDTPR to the more generic
name PROP_SDTPR.

Checkbox unit test was modified to match the new structure of the
generated document.

Change-Id: I81ffe0062e1a5f80fc4638f7ee454a9bc18e63ee
ooxml: Fix testSimpleSdts

Change-Id: Iefd8de05107c6e9ad1dec04711ee3fd8e4c05b17
ooxml: preserve dataBinding tag in SDT properties

SDT blocks can contain document properties, like the author. This is
done with the dataBinding tag inside sdtPr.

Added a resource definition to the ooxml model file, so the parser can
process this tag. The attributes are stored in the existing grab bag
used for other sdt properties and written back on export.

The code to write the SDT block in the exporter has been modified to
be able to extract the new tag from the grab bag and write it to the
document.

Added a unit test.

Change-Id: I18f35a61784eb0a03ab9ca2cc398ca0df289956c