tests that expose the brokenness of the JSON Serializer, by implementing testing of workflow serialisation.
Fix exception that arose from incorrectly deserializing the last_task.
Name the compareSerialization function correctly to override the superclass to get more helpful error messages.
Remove an attempt at serialising the name of the workflow that didn't remain the same across serialiasation/deserialisation/reserialisation, and which wasn't used in deserialisation anyway.
Classes to run tests on every .xml/.py workflow spec with the Dictionary Serializer. Exposes more bugs.
Fix deserialisation of Cancel/CancelTask
Fix deserialisation of Triggers.
Fix deserialisation of AcquireMutex
Fix (de)serialization of (Multi)Choice. The method signatures do not represent the type of argument passed around, as far as I can tell.
Fix deserialisation of subworkflow: serialisation uses list, so deserilisation should use list, not dict.
Fix bug in test where a non-existent file would lead to the workflow1 sample path being loaded.
Add some missing deserialise methods.
Fix thread support.
Add tests for JSON serialization - reveals more bugs.
Remove a print statement from debugging.
Fixed JSON serialisation of MultiInstance.times attribute (present in workflow1.xml)
More thorough DictionarySerializerTest.compareSerilization is not able to look into lists as well as dicts, and complains if it finds a is a workflow - now both Dict and JSON throw an error for the same workflow, as they should.
Improve error output of Dictionary and JSON serializer tests.
Subworkflows use internal_data in a very unhelpful way. They also depend on an external XML file, so serialising them is dubious to begin with. Emit a warning if a TaskSpec for a subworkflow is serialised, and outright refuse to serialise a SubWorkflow Task.
Merge branch 'feature/fix_serializer' into develop