[FLINK-925] Support KeySelector function returning Tuple types
[FLINK-925] Extended for distinct operator and added test cases

This closes #59
[streaming] Fixed SlidingWindowStateIterator
[streaming] Reduce operator added to ConnectedDataStream + test
[streaming] Updated directed emit to not use output names when all outputs are selected
[FLINK-1080] [streaming] Streaming aggregation added

Conflicts:
	flink-addons/flink-streaming/flink-streaming-core/src/main/java/org/apache/flink/streaming/api/datastream/DataStream.java
[streaming] Added TypeInfo to DataStream
[FLINK-1080] [streaming] Streaming aggregation update and refactor
[FLINK-1058] [streaming] Streaming initial documentation
[streaming] DataStream type refactor for easier future extensions
[streaming] Invokables and tests added for fast batch/window reduce operations and aggregations
[streaming] window and batch operator added to DataStream + Documentation updated accordingly