Proposal for separating core logic from maven plugin implementation

This is just a proposal for separating the reusable core logic from the actual maven plugin implementation. This way the core logic would still be available as a standalone library available for integration in other build systems like gradle.
Please note I've splitted the original maven project into a parent with two subprojects giving the core lib a temporary name but still preserving the original artifact id of the maven plugin.