Update to forbidden-apis 1.4.1

Closes #5492
Nodes who are not currently master do not update the ElectMasterService when dynamically setting min_master_nodes

When updating the min_master_nodes setting via the Cluster Settings API, the change is propagated to all nodes. The current master node also updates the ElectMasterService and validates that is still sees enough master eligible nodes and that it's election is still valid. Other master eligible nodes do not go through this validation (good) but also didn't update the ElectMasterService with the new settings. The result is that if the current master goes away, the next election will not be done with the latest setting.

Note - min_master_node set in the elasticsearch.yml file are processed correctly

Closes #5494
[TEST] Disable wildcard query in testFixAOBEIfTopChildrenIsWrappedInMusNotClause for now
[TEST] Add mapping to ensure all nodes / shards parse a numeric field
[TEST] ensure that we don't fail if all shards fail due to no replicas and low number of shards
TransportMasterNodeOperationAction: retry operation if cluster state version changed while adding a ClusterStateListener

TransportMasterNodeOperationAction forwards incoming requests to the currently known master node. If that fails due to a connection error, a cluster state listener will be added in order to try again when a new master is elected. After the listener is in place, a check was made to see if the master has change *while* the listener was being added so that change will not be missed. The check was not enough as it may be that the same master was re-elected (for example, a network hick up) and thus test will fail even though the re-ellection event was missed. In these cases, the request would timeout unjustly. This commit changes this test to be  more strict and retry if the cluster state version changed during the addition of the listener.

Closes #5499
Merge GeoPoint specific mapping properties

Close #5505
[TEST] Fix rounding error problems in FuzzinessTests
Merge null_value for boolean field and remove include_in_all for boolean field in doc

Close #5502
Fix incorrect return impl in SmileXContent.createParser.

Close #5510
Use build-in function to write field name in JsonXContentGenerator#writeRawField

The #writeRawField method forcefully writes a `,` spearator expecting a raw field
to never start as the first value in an object.

Closes #5514
Randomize XContentType for requests

The used XContentType is static and should be randomized per test.

Closes #5515
Add 1.1 branch url

Added S3 access URL for elasticsearch 1.1 snapshot
fix potential NPE, throw failure only if exists
Fix JsonXContentGenerator to write comma after rawWrite if needed
[TEST] Don't pass possibly oversized array with 0 padding to SearchRequestBuilder#setFacet(byte[])
[DOCS] Mark snapshot status API as coming in 1.1.0
[Build] splitted release commits into version and feature flag commits

Elasticsearch is release from release-branches but the modifications
to the documentation must be cherry-picked into the current development
branch. To make this easier this commit splits the commits of the
Version and the documenation into seperate commits.
[Docs] Add coming tag for context suggester docs
BytesReference.Helper should never materialize a byte[] array.

The current implementations of BytesReference.Helper.bytesEquals and
bytesHashCode materialize a byte[] when passed an instance that returns `false`
in `hasArray()`. They should instead do a byte-by-byte comparison/hashcode
computation without materializing the array.

Close #5517