Reenabled range partitioning with manually specified data distributions.

- Extended DataDistribution with generics for data model independence
- Added range partitioning to output emitter using TypeComparator and DataDistribution
- Adapted and extended output emitter tests
- Added PactRecordDataDistribution and corresponding tests
- Reactivated pact tests with range distribution.
- Reincluded TeraSort Pact Java example into example jobs.
- minor fixes (on-the-way-bug, unused imports, typos)

Adresses issues #7, #138, #146