Fix Release tool to run smoke tests off tags

this commit allows to run the release tool for smoke
testing without being on the actually released branch.
This commit also added a list of plugins that will be installed
for smoke testing to see if the plugin startup mechanism works
correctly.
run mvn clean before smoketesting
excluding all fields of an object should not remove parent.

When excluding '*.f1' from `{ "obj": { "f1": 1, "f2": 2 } }` XContentMapValues.filter returns `{ "obj": { "f2": 2}}`. When run on `{ "obj": { "f1" : 1 }}` we should return `{ "obj": { }}` to maintain object structure. People currently need to always check whether `obj` is there or not.

Closes #4715
Closes #4047
Related to #4491
Fix possible race condition in the restoreIndexWithMissingShards test

Due to a race condition the index creation operation might still try to create an index on the closing node.
Consistent Indices API: Made GET mappings consistent

Added support for /{index}/_mappings/{type} and /{index}/_mapping/{type}
Also added spec tests

Relates #4071
Consistent Indices API: Made GET warmers consistent

Added support for /{index}/_warmers/{type}
Also added spec and integration tests to support wildcards and _all in
warmer names

Relates #4071
Consistent Indices API: Made GET aliases consistent

Added support for /{index}/_aliases/{name}
Also added spec tests to support wildcards and _all in get alias API

Relates #4071
Consistent Indices API: Made GET settings consistent

Added support for /{index}/_setting/{name}
Also added spec tests to support wildcards in setting name

Reverted parts of https://github.com/elasticsearch/elasticsearch/commit/0973b2863cab4b56390e3c80b0f3dbbf01e54e51
to fit into consistent API strategy

Relates #4071
Consistent Indices API: Returning empty json instead of 404

If an index exists, but a single warmer/setting/alias/type is missing
return an empty JSON instead of an 404

Relates #4071
Restoring old mapping filter behaviour again
Consistent Indices API: Added tests to make sure requests on aliases return the concrete index

Relates #4071
Incorporated review comments

TODO: Talk about naming of method added in Strings class
REST get mappings action

Added "mappings" as part of JSON response, so it aligns with warmers, aliases and settings.
Added correct validate method for GetSettingsRequest
Added null check Strings.isAllOrWildcard
Ensuring that GET /_aliases returns all indices, reverting
Fixing /_all/_alias/_all endpoint