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. 
Looks like it defaults to `True` in `validation.py`, but for import it should be set to `False`.