Include stud/try module to elasticsearch_spec test

Previously, a few elasticsearch integration tests relied on this module,
but the module could not be found.

Fixes #1929
Remove the rescue so we can see what errors we get
Closes #1931
Fix metadata testing failures

This bug was introduced in the recent metadata patch. The problem was
caused by a testing-specific monkeypatch on LogStash::Event#[]=

I fixed this by moving the strict_set input validation from
LogStash::Util::Accessors to LogStash::Event as a class method.
Then monkeypatched the Event#[]=  to invoke validation before doing
the set operation. This now makes it call the original []= method
and should help keep future breakages from happening.

Fixes #1936
Refactor build tooling to use Ruby

The new way to build is using 'rake' and not 'make'.

For some some attempt at compatibility, any 'make' invocation will
invoke rake. `make foo` will invoke `rake foo`.

This is for #1640

Major changes:
* rake is used instead of make. This allows us to more easily improve,
  debug, and test the build tooling.
* The build process can be bootstrapped from any Ruby that has
  Rake available. Bootstrapping rake is automatic will download JRuby and
  re-execute itself under JRuby.
* rpm and deb packages no longer list any java as dependencies. This
  is the result of user discomfort and discussions which concluded
  that there is no good way to "depend" on Java via rpm or deb.

Internal changes:
* Vendoring paths are project-based. Each vendor directory is now
  specific as vendor/<project>/... For example, JRuby is dumped into
  vendor/jruby/...

Other changes:

* We don't use jruby-complete anymore. We now use bin/jruby as the entry point.
  This improves the startup time of Logstash on my laptop by approximately
  1.5 seconds (~25% speedup of startup time). Testing `bin/logstash
  version` speed; 5 runs each:

  * Before patch: 7.27 7.55 7.26 7.42 7.47
  * After patch: 5.54 5.97 5.67 5.58 5.54

Smaller changes:
- removed 'env' subcommand
- Remove 'deps' subcommand. Replaced by 'rake vendor:all'
- Add gem_home method for this platform's GEM_HOME
- .travis.yml removed because we haven't used Travis in a long time.
- bin/logstash exits nonzero with a useful message if JRuby can't be found.

Notes:

Invoke bundler via system() call instead of Bundler::CLI.
After some discussion in #bundler on freenode (very helpful!) on how
to do what we need to do with bundler, I was encouraged to not use the
bundler api from ruby, so system() it is.

Patch slightly modified to fit the new model of packaging (ruby instead
of shell invocation), but original author is obazoud in #1008.

Richard Pijnenburg helped with some of the code and was lovely in
helping test it.

Fixes #1640
Don't try to load bundler/cli anymore since we don't use it

This should help incorrectly installing bundler when it isn't present.

Fixes #1940
Exclude certain files from packaging

Fixes #1940
Refactor files/exclusion

Fixes #1940
Make most things depend on bootstrap

Fixes #1940
Add bootstrap dependency for deb target

Fixes #1940
added apache logs, changed description and now computes top 20%
Update en.yml
Closes #1924
isolate gems into build/dependencies, do not use any system gems
Initial fix to retry failed actions in a bulk send in elasticsearch output
Merge branch 'fix/1631' of github.com:talevy/logstash into fix/1631