[API] Added displaying the Elasticsearch build hash when running the YAML tests

$ rake test:integration

Will print out:

...
--------------------------------------------------------------------------------
                     Elasticsearch 0.90.7 [36897d0]
--------------------------------------------------------------------------------
...
[EXT] Removed storing the PID files in test cluster

We retrieve the PIDs from the "Nodes Info" API, not files.

Related: #16
[EXT] Added `es.path.data` and `es.path.work` to the test node configuration

Prevent accessing the default Elasticsearch data directory altogether,
default to /tmp, data path settable by method arguments or
the TEST_CLUSTER_DATA environment variable.

Closes: #16
[EXT] Allowed setting `gateway.type`, `index.store.type` and custom `-D es.*` params for the test cluster

TEST_CLUSTER_PARAMS='-D es.cluster.name=mycluster' rake test:server:start

Elasticsearch::Extensions::Test::Cluster.start \
  gateway_type: 'local',
  index_store:  'niofs'
[EXT] Added file with preconfigured Rake tasks for starting and stopping the test cluster
[API] Prevent modifying the original payload in "Bulk" API

(Added test for the __bulkify helper.)
[EXT] Release 0.0.7
[API] Updated the API integration tests submodule to elasticsearch/elasticsearch-rest-api-spec@2f5f78f
[API] Added example to the bulk API documentation
[API] Updated the API integration tests submodule to elasticsearch/elasticsearch-rest-api-spec@b3ab724
[API] [TEST] Fixed incorrect version comparison for "skip" in YAML tests

Previously, the "min" and "max" versions have been compared to actual
version naively, by string comparison, leading to broken builds such as:

--> http://build.elasticsearch.com/job/es-ruby_core/ES_V=0.90_nightly,RUBY_V=1.9.3-p448,TEST_TYPE=integration,label=not-es/lastCompletedBuild/testReport/

With this patch, all version strings are "normalized" to the
`000-000-000` format, thus supporting comparisons such as:

    "000.090.003" < "000.090.010"

The normalization code is directly based on the Perl client's implementation:

--> https://github.com/elasticsearch/elasticsearch-perl/blob/c650f52ed63ca823f8d77fa1251c20a90cf8b02b/t/lib/Elasticsearch/Client/Test.pm#L305
[EXT] Fixed, that the `@@number_of_nodes` variable is initialized on module load

This was preventing a use case like:

  time SERVER=y ruby -I lib:test test/integration/yaml_test_runner.rb
[EXT] Release 0.0.8
[TEST] Replaced the "rest-api-spec" submodule with Elasticsearch core repository

Previously, the REST API specification and tests were contained in a separate
repository. This change adds the full Elasticsearch core repository as a
submodule, since it contains the specs and tests since elasticsearch/elasticsearch@63a9ae4e2b17584c98b3a8f4d68d25920899fb4d

Related: elasticsearch/elasticsearch#4540, elasticsearch/elasticsearch#4541
Updated the main Rakefile to reflect adding Elasticsearch core repo as submodule

Renamed and updated the `update` Rake task, added `status` and `changes` tasks.
[API] Updated the path to YAML tests in API integration test runner

Point the YAML runner to the new tests location (main ES repo)
[API] Added `ignore_unavailable`, `allow_no_indices`, `expand_wildcards` parameters to "indices" APIs

Also added missing `master_timeout` parameter to "Optimize" API
[API] Added documentation for the internal `force` and `full` parameters in the "Indices Flush" API
Added the `elasticsearch:build` Rake task

Build Elasticsearch from the master branch:

    rake elasticsearch:build

Build Elasticsearch for a specific branch:

    rake elasticsearch:build[0.90]
[API] Changed the `rake test:integration` task

The `rake test:integration` task for the `elasticsearch-api` gem
will now checkout a commit in the Elasticsearch repository (which
contains YAML integration tests) corresponding to the `build_hash`
of currently running Elasticsearch test cluster.