Docs: Added a command to start elasticsearch on bootup on Debian.

Close #8600
Docs: Add instructions to start elasticsearch on bootup on RHEL/Fedora.
deb: add systemd service config for upcoming Jessie

This change adds a systemd service configuration file, and adds systemd logic
to installation and de-installation scripts. The upcoming Debian 8 "Jessie"
release will use systemd.

fixes #8943

Signed-off-by: Thilo Fromm <github@thilo-fromm.de>
Packaging: Make ES user own plugins dir, remove on uninstall

This change will chown /usr/share/elasticsearch/plugins to the elasticsearch
user (the directory was formerly owned by root). This enables the ES user to
manage plugins.

Also, /usr/share/elasticsearch/plugins is now removed when the elasticsearch
package is un-installed. Previously it was left lying there.

Closes #8732

Signed-off-by: Thilo Fromm <github@thilo-fromm.de>
[TESTS] Use a _default_ template to load field data lazily

Previously it was possible for the field data clearing in this test to
take too long, causing the test to time out.

This also switches to using `scaledRandomIntBetween` for the number of
fields.
[TESTS] Log what the _default_ template is in ElasticsearchIntegrationTest
Add custom index.data_path and index.data_template settings
Hide .dataPaths inside of NodeEnvironment
Remove extra dir resolving in resolveCustomLocation
Fix typo in NodeEnvironment's default data_template
More logging in AbstractShardStore
Add unit tests for NodeEnvironment.dataPaths()
Rename dataPaths() -> shardDataPaths()
Add test for NodeEnvironment.shardPathsIncludingCustom()
Remove unused IndexMetaData methods
Remove some extraneous code, use *IncludingCustom methods
Remove all non-test uses of NodeEnvironment.indexPaths()
Rename indexPathsIncludingCustom -> indexPaths

Remove the old indexPaths
Refactor so shardPaths and shardPathsIncludingCustom are the same
refactor shardPaths to be a bit smaller