Refactoring: extract class.
Move the non-implementation specific code (most of it) to an abstract super class. I increased visibility for most of the fields from private to protected, so that they can be used from the sub class just as before.

git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@1512671 13f79535-47bb-0310-9956-ffa450edef68
Add subversion keywords.

git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@1512672 13f79535-47bb-0310-9956-ffa450edef68