After a DNS lookup failure, assume there is no internet connection.

This can occur in two places. If it occurs when sending a HEAD request
against a version of an item in the application cache, mark the
internet as unavailable and use the cached item. If it occurs when
downloading an item, mark the internet as unavailable and look for the
item in the buildpack cache.

[#66409480]
Merge 66409480-recover-from-dns-lookup-failure to 2.0.x

[Completes #66409480]
Merge branch '2.0.x'
Ruby upgrade

This change upgrades the required Ruby version to 1.9.3-p545.

[#66342314]
Merge 66342314-ruby-upgrade to 1.5.x

[Completes #66342314]
Merge branch '1.5.x' into 2.0.x
Merge branch '2.0.x'

Conflicts:
	.travis.yml
	Gemfile.lock
Dependency updates

This change updates all of the dependencies to their latest versions.
It includes changes to some tests to handle the new version of RSpec.
Test against 2.1.1

Since it would appear likely that Cloud Foundry will be skipping the
2.0 line completely, this change updates the test configuration to
start testing against 2.1.1.
Relax POGO definition

Previously, the definition for a POGO required that there be a space
between the name of the class and the following curly brace.  This is
not strictly required, and prevented a reasonable application from
running[1].  This change relaxes the definition of a POGO to make that
space optional.

[1]: http://cloudfoundry.zendesk.com/entries/41608943-Spring-Boot-cannot-find-classes-from-groovy-deploys?page=1#post_25224396

[#66666400]
Merge 66666400-boot-cli-detection to master

[Completes #66666400]
Version updates

This change updates the versions of project dependencies.
[#66841286]Add http_proxy support to the download_cache

This is for the benefit of Ruby 1.9.3; in Ruby 2.0 Net::HTTP will
automatically use any proxy defined by $http_proxy.

This change also makes sure that request objects only contain the
request part of the uri and not the hostname and port number to avoid
breakage in the proxy use case.

[#66841286]
Merge 66841286-http-proxy to master

[Completes #66841286]
CodeClimate improvements

This change reduces some duplicated code to make CodeClimate happier.
start_script module function

Previously, the start_script method was defined in a module for
inclusion.  Due to my lack of understanding about module methods in
Ruby, I did not realize that this mean that the method could not be
called directly.  This change makes the start_script method a
module_function allowing it to be called directly.
Support proxy credentials in http_proxy

Previously, the http_proxy support did not pass through credentials
from the environment variable if specified.  This limited the support
to proxies that did not require authentication.  This change adds
support for proxy URIs that contain credentials.

    cf set-env <app-name> http_proxy http://user:password@host:port

[#66924894][resolves #39]
Merge 66924894-proxy-credentials to master

[Completes #66924894]
Redis-based Session Replication

Previously, all Tomcat Sessions existed only in memory.  In the case
that a specific instance failed, the data in the Sessions hosted by
that instance would be lost.  In some circumstances this isn't ideal,
so Sessions should be replicated to an external repository.

This change adds support for persisting Sessions to a Redis instance.
It does this by using the RedisStore Tomcat PersistentManager Store
implementation.

As part of this effort the Tomcat container was refactored (it was
already too complicated) and a ModularComponent base type was created.
The ModularComponent allows enables a component to be composed of
multiple "sub-components" and coordinates the component lifecycle
across all of them.

[#66942528]
Merge 66942528-redis-session-replication to master

[Completes #66942528]