Added Bundler support
Updated the info in README to use `bundle install` for gem installation
[#22] [TEST] Do not run .jar ownership tests on Chef 0.10.10

The link resource is seriously broken in Chef 0.10.10 (see eg. http://tickets.opscode.com/browse/CHEF-3126).
Let's skip the ownership test in that case.

Closes #22, closes calavera/minitest-chef-handler#27.
Added Ubuntu 12.04 LTS (Precise) as the primary box into Vagrant file
[#22] [TEST] Do not run .jar ownership tests on Chef versions > 0.10.8

Appears symlink and owner support is radically broken in Chef since 0.10.8,
because the owner for the elasticsearch.jar is incorrectly reported
even on Chef 10.12.
[#26] Increasing the thread stack space (-Xss option) for JVM

This change synchronizes the default value with <https://github.com/elasticsearch/elasticsearch/blob/master/bin/elasticsearch.in.sh>.

The default value is parameterized as a node attribute, allowing override in the node/role configuration.

Closes #26, fixes #25.

Note:
-----

While working with the Sematext folks to get SPM running on our QA
environment, we noticed that SPM would not start with Java 6. After
some investigation, the Sematext folks discovered that SPM would not
start because of the low -Xss setting. This change is to address this.
(see https://github.com/karmi/cookbook-elasticsearch/issues/25)
[#27] Decomposed elasticsearch download URL to allow installing from forked elasticsearch repositories

This commit builds upon Traackr/cookbook-elasticsearch@867862f by @gpstathis which parameterized
the account portion of the github tar download path, allowing forked distributions of elasticsearch to be installed.

The cookbook now allows to define several components of the download URL:

* Set the `node.elasticsearch[:version]` (default: 0.19.8)
* Set the `node.elasticsearch[:repository]` (default: elasticsearch/elasticsearch)
* Set the `node.elasticsearch[:filename]` (default: elasticsearch-0.19.8.tar.gz)

You can also set the `node.elasticsearch[:download_url]` directly:

* Set the `node.elasticsearch[:version]`
* Set the `node.elasticsearch[:download_url]`

The commit refactoring and message has been done by @karmi.

Closes #27.

Example
-------

Let's say we want to install elasticsearch from the <https://github.com/Traackr/elasticsearch> repository.

1. Override the `version` and `download_url` attributes in your node/role/etc configuration.
2. Run Chef.

With Vagrant, add the following configuration to the `lucid64` box:

    :node     => {
      :elasticsearch => {
        :version =>      "0.20.0.Beta1-SNAPSHOT",
        :download_url => "https://github.com/downloads/Traackr/elasticsearch/elasticsearch-0.20.0.Beta1-SNAPSHOT.tar.gz"
      }
    }

Run provisioning:

    $ vagrant up lucid64
    # ...
    # INFO: Processing ark[elasticsearch] action install (elasticsearch::default line 52)
    # DEBUG: release_basename is elasticsearch-0.20.0.Beta1-SNAPSHOT.tar.gz
    # DEBUG: Streaming download from https://github.com/downloads/Traackr/elasticsearch/elasticsearch-0.20.0.Beta1-SNAPSHOT.tar.gz to tempfile /tmp/chef-rest20120807-1104-15vx0k2-0
    # DEBUG: link[/usr/local/bin/elasticsearch] created symbolic link from /usr/local/elasticsearch-0.20.0.Beta1-SNAPSHOT/bin/elasticsearch -> /usr/local/bin/elasticsearch
    # ...

Check the results:

    $ vagrant ssh lucid64 -c 'curl localhost:9200'
    # {
    #   "ok" : true,
    #   "status" : 200,
    #   "name" : "lucid64",
    #   "version" : {
    #     "number" : "0.20.0.Beta1",
    #     "snapshot_build" : true
    #   },
    #   "tagline" : "You Know, for Search"
    # }
Added `Access-Control-Allow-Headers` in the Nginx proxy configuration

See elasticsearch/elasticsearch#2186.
Added correct HTTP headers for cross-origin Ajax into Nginx proxy config

Tested with the following code opened from `file://` location and from an HTML page at different domain then myserver.com:

    jQuery.ajax({ url: "http://myserver.com/_search",
                  type: "POST",
                  contentType: 'application/json; charset=UTF-8',
                  success: function(data) { console.log(data)}
    });

See elasticsearch/elasticsearch#2186.
Changed, that minimum and maximum memory (-Xms and -Xmx) are set to the same value

See <http://www.elasticsearch.org/guide/reference/setup/installation.html>

Closes #35.
Restructured the `attributes.rb` file

Also, removed `index_shards` and `index_replicas` settings -- better set them via API
for each index you create.
Improve repeatability of the "increase limits for the elasticsearch user" step

Note: Still not fully idempotent, will just add, not update the file, when values change.
Make use of Berkshelf Vagrant integration, default distro is Precise

Thanks to the Berkshelf [Vagrant integration](http://berkshelf.com/#vagrant_with_berkshelf),
the cookbooks are automatically downloaded and mounted inside the virtual machine,
allowing to skip the step of installing them manually.

Readme updated to convey this information, added explicit require to Vagrantfile

Also, default to the `precise64` virtual machine.
Added "activesupport" to Gemfile

So we can do `bundle exec vagrant up`
Allow to install a specific Chef version via the omnibus installer

To install the latest Chef version, launch the virtual machine with a command like this:

    CHEF=true vagrant up precise64

To install a specific version, launch it like this:

    CHEF=10.12.0 vagrant up precise64

Uses the Vagrant `shell` provisioner (you can specify multiple provisioners in one Vagrantfile)
Remove dependency on Nginx cookbook and use a custom recipe to install it

The [community Nginx cookbook](https://github.com/opscode-cookbooks/nginx)
is effectively FUBAR.

It brings in a dependency on the `bluepill` cookbook, which itself is absolutely FUBAR.
It is not idempotent when installing via source, it is unneccesarily complex,
and keeps breaking all the time.

So a lightweight (43 LOC), custom recipe is used (`recipes/nginx.rb`),
simple configuration files are stored in `templates`.

The `elasticsearch::proxy_nginx` recipe automatically pulls in the `elasticsearch::proxy_nginx`;
if you need more modularity and controll, please submit an issue.

Closes #24, fixes #30.
Renamed the `elasticsearch::proxy_nginx` recipe to simple `elasticsearch::proxy`
Check if the `monitrc` resource exists

Other Monit cookbooks exists, such as <https://github.com/axsuul/cookbook-monit>,
which don't have the `monitrc` resource, so let's be strict about this.

Closes #34.
Make sure the init script returns proper exit codes
[DOC] Remove curly quotes in README (fixes `InvalidByteSequenceError`)

Some quotation marks were \xE2 instead of \x22, and broke the cookbook
upload in some environments. Let's use ASCII quotes then.

Closes #18