Changed CommandConfiguration and Command Design
Created by: osbornjd
Summary
This PR introduces a change in the design of CommandConfiguration and Command. Much of the functionality of Command was moved into CommandConfiguration. This cleans up Command significantly and also is better design for putting all of the work prior to running the command into CommandConfiguration.