Rename hadoopReduce -> groupReduce

Also rename combinableReduce -> combinableGroupReduce
Fixed problems with scripts and default config

- added missing environment variables in scripts
- changed default port of web frontend back to 8080
- replaced bc command with 'expr +' for adding heap sizes
Added toString() methods to configuration and task classed to ease debugging.
prevent chained tasks in the iteration tail for now.
Fixed Stratosphere Website link (relative relative to absolute link)

[ci skip]
Change scala KMeans now that map as last op in interation works
Reworked input channels with respect to returning events and buffers. Simplified logic and fixed bugs and reduced number of status polls.
Reworked record readers to properly support unions and events.
Fixed Nephele Visualization job selection not working on Mac OS X

[ci skip]
Fixed and extended comments in WorksetConnectedComponents example.
[ci skip]
fixed: PactRecord allocating too few memory when writing UTF encoded strings
Upload builds as tgz and as directory to DOPA server
Fix stratosphere-dist: Some really outdated README's removed. The README and LICENCE were not copied to the build.
Fixed overly restrictive condition to identify disjoint plans.
Rename groupReduce -> reduceGroup, add reduce/reduceAll on DataStream
Moved pact-compiler-tests from individual project into pact-tests.
Move plan checking from PactProgram to Client

Client would invoke PactProgram.checkPlan(), but this is the only place
where this was done, so I moved it.

This is in preparation of further cleanups and a slight refactoring of
PactProgram.
Change Client to accept new PlanWithJars instead of PactProgram

PlanWithJars is a simple wrapper around a Plan and a list of jars that
have to be submitted with the plan. This is necessary to enable the
RemoteExecutor that simple accepts a Plan and a list of jars without the
whole PlanAssembler and jar extraction business of PactProgram.

PactProgram now has a getPlanWithJars() method that does the old jar
extraction and simply creates the PlanWithJars wrapper with the plan
that it created from the PlanAssembler in the jar. Client no longer
cares about the jar extraction logic and does also no longer call
deleteExtractedLibraries (since it does not have a reference to the
PactProgram anymore). The code that creates the PactProgram is not
responsible for calling deleteExtractedLibraries after the job is
submitted.
Change Client to return job runtime if called with wait=true
Add PlanExecutor interface and RemoteExecutor

LocalExecutor now implements PlanExecutor and RemoteExecutor can be used
to submit jobs to a cluster.

Example usage added to the WordCount example.
Merge pull request #195 from aljoscha/remote-executor-feature

Remote executor feature