Further work on fix to https://sbprojects.statsbiblioteket.dk/jira/browse/NO-193 to preserve distinction between originally-empty attributes (which should be retained) and attributes whose value
has been set to empty (which should be removed). Includes unit tests for these cases.
Added code to prevent endless unlooping of the schema-graph.
Improved logic for parsing the xsd tree. Specifically addition of cycle-detection to prevent loops/stack-overflows.
Merge master
Merge remote-tracking branch 'origin/master' into alternativechoicelogic
Fix small part of case where leaf element value is ignored
Make a test for mods3.1 from xml file (which is not actually a test, because it doesn't assert anything)