Add integration tests for dependency management overrides and for overriding an inherited dependency
Merge pull request #2 from pgier/integration-test

Add integration tests for dependency management overrides and for overri...
Fix for NPE if existing dependency management does not specify version
Add ITs for basic plugin overrides
Add IT to override inherited plugin version
Only apply the dependency overrides to the current project, ignore repository poms
Refactoring to simplify code
- Remove abstraction of dependency vs. plugin versions
- Use override logic specific to each for dependencies and plugins
- Use simple string Map to store version overrides
- Only run overrider if there are some overrides to apply
Enable resolution of remote dependency management pom
Merge pull request #5 from pgier/remote-bom

Refactor code and add feature to use remote BOM
Add classes to write out the effective-pom beside the copied regular pom

Performs similar actions to the help:effective-pom goal to produce a pom xml file from the internal model used in the build.
This effective-pom reflects the changes made by the ModelBuildingModifiers.

Output is done in a way that works in cases of clean goals being combined with build goals (i.e. if a build is run via  mvn clean install  or similar), at the expense of leaking the output pom file in the temp directory of the system (lots of builds could possibly build up the various effective-poms over time).
Eliminating this leakage is difficult, as we assume the system is shared, and multiple builds could be run at the same time. No post-build cleanup functionality seems to exist in maven.
Initial conversion of interface point to a LifecycleParticipant.
Comparison of a Model pre/post modification proves to be impossible due to shallow cloning methods. Falling back to relying on the modifier itself to say if the model was modified or not. Fortunately the Model return value is not needed, and can be converted to a modified/notmodified boolean.
Move override xml map writer into abstract class. Changes to align its operations to that of EffectivePomWriter pending.
Rewrite effective pom writer class to allow writing functionality to be shared
Convert override map writing to properties format (easier to parse with normal console tools), and also make it use MetaInfWriter
Move logAllCauses method into Logger class so other callers to WriteMetaInf can use it. Add extra description to properties output name.
Refactoring to load complete effective pom from a remote repository.
This will allow plugin information to be read in addition to reading dependencies.
Minor code cleanup
Minor code cleanup
Add remote plugin management override feature