Update Quickstarts Java API, Run Example, and Setup Quickstart

This closes #39.
[FLINK-971] Configure PooledByteBufAllocator in NettyConnectionManager instead of using the default allocator

Configuration:
    - 0 heap arenas,
    - n direct arenas (where n = num incoming + num outgoing network IO threads), and
    - bufferSize << 1 bytes page size.

Additionally, OutboundEnvelopeEncoder directly implements ChannelOutboundHandlerAdapter instead of the
MessageToByteEncoder<Envelope> wrapper to have tighter control of memory allocations.

This closes #38.
[FLINK-760] Add distinct operator
Speed up "getOptimizedPlan" by not starting the local embedded runtime.
Change string construction to work around a known JVM performance bug still present in some older JVM versions.
InputVertices do not require an input format.
Fix generic type warnings in generated tuples
Remove debug LOG message of TaskManager heartbeats
[FLINK-985] Update the config.md to properly describe the configuration settings.

[ci skip]
Fixed Bug Flink-978

https://issues.apache.org/jira/browse/FLINK-978

Author: Jonathan <Jonathan@Hasenburg.de>

Closes #46 from JonathanH5/fixWebI and squashes the following commits:

13a7d41 [Jonathan] Fixed Bug Flink-978
Reeenable tryLocalExecution() test in ClientTest
Change TypeExtractor to have non-static methods that do the actual work

This is required because we need state to detect recursive data types.
This will become necessary when introducing Pojo Types.
Add support for POJO objects

This adds support in the TypeExtractor and also one can now use field
expressions for grouping, join, and co-group.
Removed redundant config constants value.
Fix buggy computation of TaskManager free memory size

- In NepheleMiniCluster the memory size was divided twice by the number of TaskManagers
- In HardwareDescriptionFactory the memory fraction config value was multiplied too early
Fix the managed memory planning after patch 9ce6293075d1a2326df8a2e99c032445a555b28b
Fix checkstyle errors and various warnings.
Add "How to contribute" and "coding guidelines" to the project.

[ci skip]
Add first files for system internals documentation

[ci skip]
Add various figures for internals.
Update text on internals overview.

[ci skip]