Use HexBinary instead of SimpleHashValue, since the latter is indistinguishable except for the name
Change order that cybox_major_version and cybox_minor_version attributes are output

This is more for readability that schema-correctness
Bump CybOX output version
Don't output data type on object properties

They are not required and can usually be inferred from the context.
'Fix' tests that failed when datatype became optional
Move normalization/denormalization to utils
Refactor out common code
Add xsi_type to ControlledVocabString
Initial support for Controlled Vocabularies
Apply same logic for apply_condition to PatternableFieldGroup (used by ControlledVocabString)