XD-1788: validate deployment properties

This parses the props higher up in the architecture and validates them before actually preforming the deployment
I'd just reiterate my original line of reasoning, utility methods would be a last resort since the functionality can't be easily encapsulated in a class, but in this case it can.  Maybe one other quick opinion on this and we can get it quickly merged.