Added the extension method `print_value` for convenient filling configuration files

The method is automatically included in the Erubis::Context class, and available in all ERB templates.

<%= print_value 'bar' -%> is evaluated as:

 `node[:bar]`

<%= print_value 'foo.bar' -%> is evaluated in multiple ways in this order:

 as `node['foo.bar']`,
 as `node['foo_bar']`,
 as `node.foo.bar` (ie. `node[:foo][:bar]`)

See documentation in the `libraries/print_value.rb` file.

Fixes: #39
Complete overhaul of the attributes configuration and the `elasticsearch.yml` template

* Cleaned up and pruned the `attributes.rb` file
* Complete overhaul of the Elasticsearch configuration file, using the stock one as template

The template uses the `print_value` extension method to print attributes with a "truthy"
value, set either in data bags, node attributes, role override attributes, etc.

It is possible to set *any* configuration value exposed by the Elasticsearch configuration file.

For example:

    <%= print_value 'cluster.routing.allocation.node_concurrent_recoveries' -%>

will print a line:

    cluster.routing.allocation.node_concurrent_recoveries: <VALUE>

if the `node.cluster.routing.allocation.node_concurrent_recoveries` attribute is set.

The default attributes set by the cookbook contain values inferred from the environment
(eg. the memory settings or the node name), or reasonable defaults for production.
Use your preferred method of attribute configuration to set them.

Fixes: #39
[FIX] Make the `print_value` method work with `false` values

Prevent values with a value set to `false` being skipped; eg. setting the
`node.bootstrap.mlockall = false` wouldn't print the line in the YAML
configuration file, due to the `||=` semantics.

This patch now checks the `nil` value explicitely.

Related: #39
[FIX] Fix the paths configuration in the attributes file

After the attributes refactoring, the `data_path` etc. attributes
were left untouched, causing a regression.

Related: #39
[FIX] Fix incorrect handling of `path.data` attribute as Array

The `path.data` attribute can be set as a String (`"/my/path1,/my/path2"`),
or an Array (`["/my/path1","/my/path2"]`) and the YAML file must reflect this.

Related: #39
[FIX] Use correct attributes in the node attributes in the Vagrantfile

Related: #39
[FIX] Add better test coverage for the attributes in the elasticsearch.yml file

Related: #39