optional record detailed timings and counters per message

use message_recordings_enable = true to enable this feature
the recordings are not persisted yet, this is an upcoming feature
fix mock in tests
actually count evaluated stream rules

this gets important once we short-circuit the evaluation
Fix message timestamps in GelfOutput

The timestamps used for GELF messages created by GelfOutput were incorrect, i. e.
milliseconds since UNIX epoch instead of seconds (with optional decimal places for
milliseconds) since UNIX epoch.
More robust rest client

accepts 2xx response codes as ok
Manually encode double quotes in REST client ApiClientImpl

Web development on Java is really fooked. UriBuilderImpl from Jersey doesn't
escape double quotes which java.net.URI doesn't like and makes it puke on the
porch.

This partially reverts commit 5fc5f4f8101b7e8dfb9f767efcc34369ffe1f54e.
Refs #793
More robust rest client

accepts 2xx response codes as ok
Merge branch 'master' of github.com:Graylog2/graylog2-server
Add warning if SO_RECV couldn't be set in NettyTransport

Refs #700
Bind GelfChunkAggregator as singleton.

Avoids starting a ChunkEvictionTask per GELF code instantiation.
Return micros in string representation of message timing records.
Merge branch 'master' into cache-removal-merge

Conflicts:
	graylog2-server/src/test/java/org/graylog2/buffers/processors/ServerProcessBufferProcessorTest.java