Flesh out the simplified source dependency model so that the root directory and injected plugins for a Git repository can be specified.Rewired the source dependency model types to move plugin resolution into the VCS resolver, to simplify the model types and their construction.
Use a `NotationParser` in the source dependencies API to convert from module id expressed as a string into a `ModuleIdentifier` used for matching, so that the conversion logic can be shared rather than having multiple inconsistent implementations of this conversion. This change also removes the creation of many temporary strings during dependency resolution when source dependency mappings are defined.
Introduce a simplified API/DSL for defining source dependencies that allows simple mappings from module id to git repo to be defined. The intent is to keep the rule API for backwards compatibility and for those cases where more complex mappings are needed.