[ENGINE] Prevent NPE if engine is closed while version map is checked

We check if the version map needs to be refreshed after we released
the readlock which can cause the the engine being closed before we
read the value from the volatile `indexWriter` field which can cause an
NPE on the indexing thread. This commit also fixes a potential uncaught
exception if the refresh failed due to the engine being already closed.

Relates to #6443
Closes #6786
Remove Lucene's deprecated PatternTokenizer

Instead of using the PatternTokenizer, the functionality was replicated by using Lucene's StopFilter, PatterTokenizer and LowerCaseFilter

Closes #6717
[Engine] checkVersionMapRefresh shouldn't use indexWriter.getConfig(). We run it out of lock, the indexWriter may be closed..

Relates to #6443, #6786

Closes #6794
Update preference.asciidoc

Clarify that `preference` is a query string parameter only
and provide an example.
[Code] Control whether MapperService docMapper iterator should contain DEFAULT_MAPPING

At the moment one can iterate the MapperService to go through all document mappers. This includes the document mapper of DEFAULT_MAPPING, which may be surprising and lead to unintended results. This commit removes the Iterable implementation and add a docMappers method that asks the caller to make an explicit choice

Closes #6793
Store: Before removing shard physically from disk verify that another node in the cluster actually holds an active shard copy.

Closes #6692
Improve Settings#get lookup for camel case support
Today, if we miss on a get on setting, we try its camel case version. The assumption is that in our code, we never use camel case to lookup a setting, but we want to support camel case if the user provided one.
This can be expensive (#toCamelCase) when the get on the setting is done in a tight call, which is evident when running the allocation deciders as part of the reroute logic.
Instead of doing the camel case check on get, prepare an additional map that includes all the settings that are provided as came case, and try and lookup from it if needed.
closes #6765
Add v1.2.3 to Version.java
Fix typo in Hunspell logging
Docs: Update plugins.asciidoc

Closes #6683
Docs: New entry/front-end

Adding, Calaca, a simple search client for Elasticsearch.

Closes #6754
[Test] BackgroundIndexer uses the wrong logger

Closes #6781
Merge pull request #6792 from areek/fix/6717

Remove Lucene's deprecated PatternAnalyzer
Upgrade to jackson core 2.4.1.1
Note, we had to disable the symbol overflow, since the many mapping case was tripping it
closes #6789
Modify command window title (windows)

When launching multiple nodes in MS Windows env, batch command window does not come by default with any title.

This patch add `Elasticsearch VERSION` as a title, where VERSION is the current elasticsearch version.

Same for `plugin.bat` and `service.bat`.

Closes #6336
Closes #6752
[TEST] move more tests to assertBusy from awaitBusy
Disable JSONP by default
By default, disable the option to use JSONP in our REST layer
closes #6795
Improve large bytes request handling by detecting content composite buffer
There is a special type of request that tries to not allocate another buffer when sending bytes request (used by the public cluster state action). With the new pages bytes reference support, the content can already be a composite channel buffer, take that into account when building the actual composite buffer that will be sent over the network
closes #6756
Enables plugins to define default logging configuration for their needs.

- adds support for multiple logging configurations under the config dir (will pick up any logging.xxx in the config folder tree)
- plugins can now define a top level config directory that will be copied under es config dir and will be renamed after the plugin name (same as the support we have the plugin "bin" dirs)

 Closes #6802
[TEST] make completion tests more resilient to delayed mapping
especially the tests that check for update of mapping, we need to make sure that the cluster is green so mappings won't get override, also, put mapping during index creation when possible