Refactor config class 825

Fixes #825 
1. Where is this logic tested? I.e. that we can parse either fig or flocker?
2. Perhaps this would be better done in `model_from_configuration`? Probably easier to test, and reduces how much the CLI needs to know about? Insofar as we'll presumably run logic that converts the model back to native YAML (a refactored portion of `marshal_configuration` I guess), not accessing specific parsers directly here seems fine.