Moved computation of `dowload_url` to the recipe

This prevents a number of errors and surprises when setting the Elasticsearch version.

If the user overrode the node.elasticsearch[:version] property, the download directory and symlinks would be
created with the correctly overridden version number. However, the download URL would be computed with
the default version number, and thus the incorrect, default version of elasticsearch would be installed.

Since there's no need to compute the download filename and URL until node convergence, this patch moves that computation to the default.rb recipe. However, the node.elasticsearch[:filename] and node.elasticsearch[:download_url] attributes, if present, are respected and given preference upon node convergence, so that users still have the capability to override these attributes and thus configure downloads from a custom repository.

Related: #100, #180, #178, #240, #179, #245, #227, #245

Closes #242
Release 0.3.11
Added the `plugins.json` data bag for testing

Related: #246
Ensure a valid ruby exists before using it

If `command -v ruby` doesn't return a valid ruby binary, don't use the JSON parsing parts of the init script that depend on ruby. Also check for the validity of `-rubygems` as a ruby argument, as this works in ruby before 1.9, but after, it's invalid.

Fixes https://github.com/elasticsearch/cookbook-elasticsearch/issues/215.
Put back empty line to minimize diff.
Merge origin