DISTINCT is now lazy, and keeps the incoming ordering
Refactored DistinctPipe
Refactors JDK jars dependencies and corresponding profiles into the top level pom

Unix/Windows profiles are pushed up to the top level project pom. They export
 a property that is the path to the jar, not the dependency itself
The project top level pom includes the dependencies using the above properties.
The various poms that require those jars now simply require the group and
 artifact id.