More changes relating to issue 1449: aggregation support.
This change adds some niceness to dsconfig so that it will ask users if they want to enable a referenced component which is currently disabled. If the user says yes, dsconfig will enable the referenced component and commit the change. If this fails (e.g. the current state of the component means that it cannot be enabled), the user is given the opportunity to edit the properties of the component in order to fix the problems. Users a free to cancel out at any moment.
As part of this change I also refactored some of the error handling. One advantage of this is that if a problem occurs while using dsconfig non-interactively, more helpful messages will be displayed in certain situations. For example, if there are missing mandatory properties, a table is displayed showing the mandatory properties and their syntax.