Add escape hatch for ClassLoader.findResource() for invalid path

The source of the exception is in sun.misc (so hard to track down precisely)
but it's clear that the LaunchedJarURLClassLoader needs to be more
defensive and return null from findResource() if it can't find it.

Fixes gh-486
Extend DefaultDispatcherServletCondition to check for a registration

...bean with no explicit @Bean DispatcherServlet. We still have to check
by bean name (slightly unfortunate, but we need to avoid instantiating
too early) so there's now another magic
bean name for the registration bean ("dispatcherServletRegistration")
that the user has to replace if he wants the registration without
defining a servlet @Bean

Fixes gh-482
Tidy up implementation of DispatcherServletAutoConfiguration

also adds another test.
Register an AuthenticationManager in security autoconfig

This is quite a big step, but I think it helps a lot. Since Spring
Boot always creates an AuthenticationManager if it doesn't find one
already registered, it makes sense to also make it into a @Bean.
Spring Security does not register its AuthenticationManager by
default though, so we have to do that for it if the user has created
one with an @Autowired AuthenticationManagerBuilder, but not registered
it as a @Bean.

Having the @Bean (marked @Primary to prevent issues with @Autowired)
makes it easier to reason about what Spring Boot has done for you, and
easier to default in simple use cases to the boot-created
AuthenticationManager. For example, if I want an OAuth2 Authorization
Server with password grant, it makes total sense for the
AuthenticationManager for users to be the same as the @Primary one.
Now it is easy to set that up (just @Autowire it).
Additionally check for null on registring Servlets and Filters

See gh-482
Polish
Add documentation tool-chain

Generate html, pdf and epub documentation using asciidoctor+docbook.

See gh-295
Add initial reference manual documentation

See gh-295
Port "how-to" section to the reference manual

Copy the existing markdown How-to readme content to the user manual,
converting to asciidoc.

See gh-295
Add cloud deployment documentation

Add a "cloud deployment" section to the Spring Boot reference
manual.

See gh-295
Merge reference documentation branch

Fixed gh-295
Fix failing JMS test

Fix test failure caused by URL -> Url rename in
commit 22e397cda29bbfe89c0da01341d5b3fb7514ed11
Upgraded to Spring Data Codd SR1.

Fixes gh-490
Polish
Polish javadoc formatting
Set correct github tag for generated docs
Add missing main.basedir property to docs pom
Port ViewResolver docs

Port documentation originally added in commit b56bd0a10c76
Port Add Maven example for Tomcat 8

Port Add Maven example for Tomcat 8 from markdown to asciidoc.
(originally from commit 15372cb73786d9a82abbd441b0c9e04a68967829)
Fix some broken documentation links