Documentation fix

Previously the ssl-related key name for the AppDynamics framework was
documented incorrectly.  This change fixes is.

[#52415605]
Merge 52415605-doc-bug to master

[Completes #52415605]
[#59817096]Support Errno::ENETUNREACH

The internet availability check was failing because Errno::ENETUNREACH
was not being handled.

This fix adds Errno::ENETUNREACH and a number of other network-related
exceptions to the set being handled. When these errors are caught on
the first download attempt in a buildpack invocation (detect, compile,
or release), the internet is deemed to be inaccessible and a look-
aside is performed in the (currently read-only, but pre-populated)
buildpack cache.

See https://www.pivotaltracker.com/s/projects/803319/stories/58941750
for background.

[#59817096]
Merge 59817096-ENETUNREACH to master

[Completes #59817096]
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]