Added discovery of nodes by Chef search

Adds a `search_for_nodes()` helper which searches for other servers.

Defaults to role search within the same chef_environment, but allows for
more complex queries.

Also defaults to smart interface selection, using
`cloud.local_ipv4` or `ipaddress` attributes as appropriate, but also
allows for an override.

Adds a search_discovery recipe which disables multicast discovery and
populates the unicast hosts with the results of `search_for_nodes()`.

Closes #40
Closes #116
Fixed typo in "elasticsearch::aws" attributes

Closes #113
Fix an incorrect "cloud-aws" plugin version in `attributes/aws`

Closes #110
Fixed incorrect version notation for "cloud-aws" in `recipes/aws`

Fixes #110
[DOC] Removed the upgrade notice from the README
[DOC] Added specific Chef Solo instructions to the README
[DOC] Added info about using the Rake task to create an instance in Amazon EC2
[DOC] Use `>` (single forward sign) to create configuration files with `echo`

Closes #119
Release 0.3.2
Use the same dir mode in the "data" recipe as in the "default" recipe

Closes #111
Fixed incorrect `cloud.aws.ec2.endpoint` attribute in "aws" attributes

Closes #106
Replaced `bash` with `file` resource when setting the limits

While reading the recommendations found [here](http://asquera.de/opensource/2012/11/25/elasticsearch-pre-flight-checklist/#file-descriptors)
I thought that it would be a good idea to use `limits.d` instead of hacking the `limits.conf` file directly.

This way Chef handles the idempotency itself and we can drop the custom (and hard to read) `not_if` magic.

The "chef-ulimit" cookbook uses the same approach: https://github.com/bmhatfield/chef-ulimit/blob/master/definitions/user_ulimit.rb#L13

Tested on Vagrant with Debian 6 and Ubuntu Precise.

Closes #101
Closes #118

Fixes #102
Run `ulimit` in the init script to prevent errors when /etc/security/limits.d is ignored

This follows the conventions in the official .deb and .rpm packages from elasticsearch/elasticsearch#2059.

See:

  * https://github.com/elasticsearch/elasticsearch/blob/master/src/deb/init.d/elasticsearch#L148-L154
  * https://github.com/elasticsearch/elasticsearch/blob/master/src/rpm/init.d/elasticsearch#L75-L83

This is part of a larger changeset by @chrisroberts in #103.

Closes: #103
Closes: #109

Related: #101
Related: #102
Merge branch 'limits' into 'master'

Refactoring the way we set limits on the system:

* Use separate file in `/etc/limits.d/`
* Run `ulimit` in the init script defensively

Related issues: #118, #109, #103
Update default Elasticsearch version to 0.90.2
Do not remove the `/usr/local/elasticsearch` directory when it's a symlink.

This means it was created by Ark, not by Chef when creating the user.

h/t: @avishai-ish-shalom

Related: #104
Do not run "ark" when the required version is already installed

This prevents:

* Downloading the already downloaded file on each Chef run
* Restarting the Elasticsearch service on each Chef run

Closes #104

Related: bryanwb/chef-ark#40
Release 0.3.3
Changed the `search_for_nodes` recipe to return a sorted list of nodes

Closes #122
Related: #116, #40
Updated the default version to 0.90.3