Cleaned up TransportMessage and added transient context to it

 - The context enables setting arbitrary transient data on the message (this data is not serialized with the request)
 - Changed header accessors/mutators so header manipulation will be done directly on the request (to void NPE with transport message headers when dealing with maps that can potentially be null)
Update update.asciidoc

Closes #6577
test random strings in CompressedStringTests
Internal: Remove (mostly) unused 'failure' member from ShardSearchFailure.

closes #6837
closes #6861
test some random bytes with compressed streams
test some linedocs data with compressed streams
[TEST] Associate type with percolate query
add more evilness to compressed streams test
ensure we exceed 65k in size sometimes in test
move unused code to src/test
remove dead unused code
add multithreaded compressed streams tests
Dependencies: Version bump HPPC to 0.6.0
Mapping API: Improve IP address validation

Until now, IP addresses were only checked for four dots, which
allowed invalid values like 127.0.0.111111

This adds an additional check for validation.

Closes #7131
Test: Add test with mix of ints/longs/strings/bytes to compress.
Fix BytesStreamInput(BytesReference) ctor with nonzero offset
Docs: md -> asciidoc
Java API: fixed warnings in TermVectorRequest, also called super.validate for index not null check
Docs: Made config comment about min_master_nodes more explicit

Closes #2818
Java API: add index, type and id to ExplainResponse

Index, type and id were returned as part of the REST explain api response, but not through java api. That info was read out of the request, relying on the fact that the index would get overridden with the concrete one within that same request.

Closes #7201