Update to Rubocop 0.15.0

This change updates to Rubocop 0.15.0 and fixes all breakages now
caught.  In addition it adds IntelliJ/RubyMine artifacts to source
control.

[#60059670]
Merge 60059670-rubocop-update to master

[#60059670]
IDEA artifact polishing

This change polishes up the IDEA artifacts a bit more.

[#60059670]
Merge 60059670-more-idea-changes to master

[#60059670]
RubyMine updates

This is the result of pulling from origin/master and then reloading
the project in RubyMine. Hopefully this will stabilise soon.
internet_available check not working for https
Merge 60599356-PR-21 to master

[#60599356]
Fix typo
Tolerate trailing slashes on repository roots

[#59918120]
Merge 59918120- to master

[Completes #59918120]
Retry failed downloads

HTTP GETs for downloads are retried up to 5 times. This includes both
the initial GET of a buildpack invocation (detect, compile, or
release), which doubles as an internet availability check, and
subsequent GETs when the internet has already been checked and is
deemed to be available.

The retry limits for the initial GET and the subsequent GETs are coded
as two distinct constants in case we want to make the values
diverge. However, I think it makes sense to keep them the same
because a user who got spurious internet unavailable behaviour
because of a transient error would probably be just as put out as a
user for whom a transiet error cropped up during a subsequent GET.

The downside of retrying the initial GET is that when the internet
really isn't available, it takes longer for the buildpack to realise.

This shouldn't be an issue unless the GET request takes a significant
time to fail, in which case the effect is to multiply the total such
delay per buildpack invocation by a factor of 5. Reducing the retry
limit for the initial GET would alleviate this somewhat at the risk of
not handling transient errors so well. A better solution, when the
delay is unacceptable, is for the user to fork the buildpack and
disable remote downloads in config/cache.yml.

[#57311364]
Merge 57311364-retry-failing-downloads to master

[Completes #57311364]
[#60250292]test
Document the need to use metaspace with OpenJDK 1.8

[#60250292]
Merge 60250292-java8-but-permgen to master

[#60250292]
Revert "[#60250292]test"

This reverts commit eed077949c7ce2df97a510e90aafe1701a0ee9d6.
Bump new-relic to 3.1.+

[#58173176]
Merge 58173176-new-relic-3.1.1 to master

[#58173176]
Refactor complex method

[#57311364]
Add examples other than Tomcat

[#59910222]