Logstash: fixes and tweaks

- Make logstash inputs resources, not classes. There is no hard reason why
  logstash couldn't be configured to consume from multiple redis instances.
- Change logstash::conf resources in role class to use underscores rather than
  dashes, which are problematic in Puppet resource names.
- Move Elasticsearch package definitions to a class, elasticsearch::packages,
  which can be included multiple times.
- Let the Elasticsearch package create /etc/elasticsearch, and have
  Puppet-managed subdirectories depend on the package as a way of ensuring the
  parent directory exists.
- Rather than a discrete README file resource, make it part of the conf.d
  directory resource.
- Rename $config_file variable to $config_name, since it is not the full file
  name.
- Make logstash::conf depend on conf.d rather than the logstash package.
  (The package doesn't create conf.d; we do.)
- Leave owner / mode / group unspecified when Puppet's defaults will do.
  Specifying them explicitly makes it seem as though there is some hard reason
  why they must be set to these values, when instead the intent is simply for
  the files to be uniform with other files in /etc.
- Don't use a pointless $config_dir variable when it is hard-coded anyway. It's
  easier to reason about manifests if you just have the string literal to stare
  at.
- Make 'ensure' param first in cases where it was not.
- Store "http://${host}:${port}" as $uri var for concision.
- Provide a more descriptive comment header for the logstash's init.pp.

Change-Id: I3d016458826fa64031cf8e918c50437cdb468868