Rethinking Auto-reconfiguration

Previously, auto-reconfiguration was tied very heavily to the use
auxiliary Spring configuration files.  This was limiting in that it
only worked for Spring applications based around servlet 2.  This
change rethinks how to augment configuration in Spring applications,
dumping the configuration file style is leaning on
ApplicationContextInitializers.  A number of techniques are used to
get these initializers into ApplicationContexts including
spring.factories and a ServletContainerInitializer.

Finally, the deprecated cloudfoundry-runtime code has been removed
from the repository.  It has been tagged and there is now a link from
the README.md file on how to view it.

[#49695439]
Merge 49695439-servlet-3 to master

[#49695439]