hadoopcompatibility: Implementations of basic programming interfaces and...

... a basic driver.

* wrappers for Mapper, Reducer and Combiner (as a local Reducer) on the new Java API
* wrapper for OutputCollector
* wrappers for Partitioner, values comparator.
* a driver making it posible to run unmonitored (so far)  Hadoop jobs on Flink.
* tests and variations of the WordCount driver exclusively in Hadoop.

You can find more about the Google Summer of Code project here:  https://issues.apache.org/jira/browse/FLINK-838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14031511
The default value for ```JobConf.getCombinerClass()``` is null ( and this is not the case with Mappers and Reducers that have their respective identity functions as default. Even if the user wants the combiner to be the same as the reducer he has to explicitly say so. Otherwise, the job runs with no combine phase. Do you suggest that the combiner class should be the reducer class by default and that we should never skip reducing?

Moreover, in the client there is:
```java
		final Class<? extends Reducer> combinerClass = hadoopJobConf.getCombinerClass();
		if (combinerClass != null) {
			reduceOp.setCombinable(true);
		}
```

so if there is no combiner the function is not combinable for Flink. Isn't that correct?