isolate gems into build/dependencies, do not use any system gems
[rabbitmq] Use Bunny 1.5.0+

Fixes #1894
Add option to use a local jruby version instead of the vendored one

If we want to test against custom Jruby versions we need to ensure we use the correct jruby binary
Like what we can do with USE_RUBY=1 ./bin/logstash to use the local ruby binary we can do the same with the rake bootstrap job

Use ruby instead of jruby as binary in case we try out something else then jruby

Fixing a few issues with the build process

- Fix a very very very weird issue where the Gem::LoadError was being passed down
- Adhere to the USE_RUBY=1 logic to use the local ruby binary

Use if instead unless

Move require's to top of the file to avoid issues
TCP input host field contains source port

Fixes LOGSTASH-1849
https://logstash.jira.com/browse/LOGSTASH-1849

Fixes #1649
use Open3.popen3 to fix hanging IO in JRuby 9k