Fix bug in record XML export

The custom XML serialization method was failing when provided
with a tag name containing a colon ':'
(Message was: 'ValueError: Invalid tag name').

We substitute colons with dashes using regular expressions.
Use flat structure for Record XML export

As an uploader, I want to have a flat XML,
in order to use it with the GWToolset.

In 69e95b0, where we introduced XML serialisation,
we chose to export sets as XML subelements.

But the GWToolset can only deal with flat XMLs.
If there is a nested structure, all subelements
are concatenated, deafeating the all purpose.

Here we change the handling of sets so that, if given
a field 'X' with a set of N elements, it is serialized XML
as N elements <X_1></X_1>...<X_N></X_N>.

The obvious drawback is that the field 'X' may not contain the same
number of elements for every record. Unsure how the GWToolset would
deal with that.
Use extended XML structure for lists in Record XML export

In 69e95b0 & ea65497 we introduced a specific handling of sets
in the metadata, which are exported in an extended XML.
We want the same behaviour with lists.

Add (violent) typecheck which triggers the handling.
Add common processor splitting in a list

Metadata fields may contain several elements concatenated in one field.
We want to split them and make a list of elements, so we can
for example use the special XML export.