Changed get index settings api to use new internal get index settings api instead of relying on the cluster state api.

The new internal get index settings api is more efficient when it comes to sending the index settings from the master to the client via the
Also the get index settings support now all the indices options.

Closes #4620
move ack tests for cluster update settings to its own test with scope test, and all other ack tests to scope suite for faster execution
Fixed open/close index api when using wildcard only

Named wildcards were not always properly replaced with proper values by PathTrie.
Delete index (curl -XDELETE localhost:9200/*) worked anyway as the named wildcard is the last path element (and even if {index} didn't get replaced with '*', the empty string would have mapped to all indices anyway). When the named wildcard wasn't the last path element (e.g. curl -XPOST localhost:29200/*/_close), the variable didn't get replaced with the current '*' value, but with the empty string, which leads to an error as empty index is not allowed by open/close index.

Closes #4564
Add support for flat_settings flag to all REST APIs that output settings

Closes #4140
add support for tera and peta units
when specifying size 0, just use the total hits collector in query phase
no need the (old) hack of setting the size to 1 anymore really...