fix IndexOutOfBoundsException on _all field without tokens and keyword analyzer

fix AllEntries to only compute boost when there are actually some Entries available for the _all field

Closes #4771
[TESTS] Mapping update might get applied before the first document is indexed on replica, so it is better not to check if the new field isn't available before re-indexing first document.
Documentation typo.
[TEST] Added create api (hardcoded) to REST tests suite as it has no spec but it's just a variation of the index api
Fix test bug: test expects at least one child document.
[TEST] Better fix for missing create spec

create is a shortcut to index with op_type=create that the clients support
Reference docs fixes

* Make it clearer that `aggs` is an allowed synomym
  for the `aggregations` key
* Fix broken example in for datehistogram, `1.5M` is
  not an allowed interval
* Make use of colon before examples consistent
* Fix typos
Added base Request class for read operations that usually happen on the master but can be executed locally.
Added base TransportAction class for master read operations that execute locally or not depending on the request class (local flag).

Added support for local flag where missing, in a backwards compatible manner:
     - IndicesExistsRequest
     - GetAliasesRequest (get alias api, aliases exist api)
     - TypesExistsRequest
     - GetIndexTemplatesRequest (get template, template exists)
     - GetSettingsRequest
     - GetRepositoriesRequest
     - PendingClusterTasks

 Added parsing of the local flag where missing in Rest*Action.

 Updated SPEC adding local flag param where missing and added REST tests that contain use of the local flag where it was just added.

Closes #3345
master_timeout parameter is now taken into account when calling cluster pending tasks api through the REST layer

Closes #4806
[TEST] Added missing newline at end of YAML test file
[TEST] Added missing \n at end of YAML files, quoted * and fixed indentation
Accept the same boolean values in RestRequest

Added `no` as a possible value to `paramBooleanAsOptional`, also reused existing code from `Booleans.parseBoolean`

Closes #4808
Fix logging on immediate exit on start

If elasticsearch was started in the foreground an immediate exit on startup
led to logging in the logfile, where as when starting in the background,
an immediate exit logged to stdout.

Closes #4805
Follow-up of #4808, same fix applied to ToXContent.MapParams
Return `MatchNoDocsQuery` if query string is emtpy

Closes #3952
Return a conflict when trying to enable/disable norms.

Close #4761
Make StringFieldMapper.toXContent aware of defaults for not_analyzed fields.

StringFieldMapper.toXContent uses the defaults for analyzed fields in order to
know which options to add to the builder. This means that if the field is not
analyzed and has norms enabled, it will omit to emit `norms.enabled: true`.
Parsing the mapping again will result in a StringFieldMapper that has norms
disabled.

The same fix applies to index options.

Close #4760
Add page tracking to MockPageCacheRecycler.

This found an issue in BytesRefHash that forgot to release the start offsets.

Close #4814
Initial implementation of custom _all field

Closes #4520
Added setup task that clears the test template before running exists_* tests