Rearchitect to seperate code that hooks into the model building and code that modifies the built model.

Move most of the code from the overrideVersions method and the original constructor into a new class called DepVersionOverride.

Create interface ModelBuildingModifier, for all classes that need to modify the built model (like DepVersionOverride).

VersionOverridePropertyUser abstract class now holds the PROPERTY_NAME_SEPERATOR constant, as it will probably also be needed in the future PluginVersionOverride class. Currently only used by DepVersionOverride.

Create static central Logging class to avoid unneeded references to some other class. All classes can get the logger for the package by calling getLogger()
Added plugin version override class.

Did not copy over the code for non-existing items.

Lots of code duplication between this and the version override class, should be reduced once the classes stablize. Could possibly modify the VersionOverridePropertyUser abstract class to include some common methods?
Update README for pluginVersion override.