better compressed input offset data structure
Store Throttling (node level and/or index level) with options on merge or all, closes #2041.
Allow to configure store throttling (only applied on file system based storage), which allows to control the maximum bytes per sec written to the file system. It can be configured to only apply while merging, or on all output operations. The setting can eb set on the node level (in which case the throttling is done across all shards allocated on the node), or index level, in which case it only applied to that index.

The node level settings are indices.store.throttle.type to set the type, with values of none, merge and all (defaults to none). And, also, indices.store.throttle.max_bytes_per_sec (defaults to 0), which can be set to something like 1mb.

The index level settings is index.store.throttle.type for the type, with values of node, none, merge, and all. Defaults to node which will use the "shared" throttling on the node level. And, index.store.throttle.max_bytes_per_sec (defaults to 0).
Improve cluster resiliency to disconnected sub clusters + fix a shard allocation bug with quick rolling restarts
Two main changes:

Improve cluster resiliency to disconnected sub clusters. If a node pings a master and that node is no longer registered with the master, improve the rejoin process of that node to the cluster. Also, if a master receives a message from another master, pick one to force to rejoin the cluster (based on cluster state versioning).
On quick rolling restart, without waiting for shard allocation, the shard allocation logic can mess up its counts, causing for strange logic in allocating shards, or validation failures on routing table allocation.
Failure to recover properly on node(s) restart
When a node restarts, it might be canceling one recovery of a shard id only to get another one in the next cycle. We should detect this case and handle it properly.

This is a fix to the annoying message seen by users: suspect illegal state: trying to move shard from primary mode to replica mode.
add debug log if using compressed stored fields
Rest API: Add `HEAD` support for `/{index}/{type}/{id}` to quickly check if doc exists or not, closes #2047.
change index.store.compress.stored_fields setting to index.store.compress.stored
better type based inference when using scripts
Return 503 when threadpool limit is reached, closes #2048.
better thread naming
River name re-use not possible between node shutdowns, closes #1921.
This effectively happens because we don't flush before deleting a mapping, which causes it to still reply the changes happening for it on the transaction log, meaning the mapping are still around on the index level.
Store Compression: Term Vector Vector, closes #2049.
reduce objects created with bloom filter operations
wait for remove mapping to happen on the cluster before returning control back
add 0.19.6
elasticsearch fails to start due to verification error, closes #2051.
return 404 when trying to delete a mapping that does not exists
add 0.19.7
don't double set settings with es.default. or elasticseearch.default.
though harmless, since we don't have any "default" component, and effectively has not effect on the settings used, it still puts settings that we don't really need
deb package fails to start elasticsearch
The ability to use es.default prefix broke the deb package that uses it now.