Split XML serialization and validation contracts.

@gradyward 
@wedaly 

Covers: 
* XML serialization changes
* Validation tweak (minor)
* Studio Mixin update
* Buncha tests

Continues to support reading in full XML configurations (for workbench, etc) but also allows serialization and a more granular level. 

Mixin now adheres to a JSON update contract rather than purely XML. 
One cleaner solution could be to check all the values and return one exception capturing all the missing parameters; it'd be a better error message and reduce us to a single string.