Cleaning up resolveEnabled() deprecation
452323 - Start --list-config makes no hint on transitive enabled modules

+ Refactoring out the Graph + Node logic into its own package
+ Changing Matcher to Predicate
+ Introducing new Node.selection Set which tracks how the various nodes
  are selected, along with with ability to track directly selected (aka
  explicit) vs transitive.
+ Module now extends from Node
+ Modules now extends from Graph<Module>
452323 - Start --list-config makes no hint on transitive enabled modules

+ Eliminating lots of now dead code (#uncoding)
+ Making ambiguous add detection more sane.
Making setup demo-base actions split for --add-to-start, then --add-to-startd to avoid ambiguous action on transitive nodes
452322 - Restore progress messages for --add-to-start(d) use