Allow custom UrlPathHelper for WebSocket requests

Issue: SPR-117711
Using SmartLifecycle to register MBeans

Prior to this commit, MBeans were registered in a post construct
call of MBeanExporter. This commit moves that logic after the
initialization phase using the SmartLifecycle callback.

Issue: SPR-8045
polishing

Reorganized class structure to match our code style (setter for
properties at the top of the class, public method before private
implementation).

Removed DisposableBean as it the lifecycle is already taking care
of removing MBeans on stop.

Cleaned test suite

Issue: SPR-8045
Merge pull request #551 from mdeinum/SPR-8045

* SPR-8045:
  polishing
  Using SmartLifecycle to register MBeans
Fix callout formatting issue
Fix typo

Issue: SPR-11862
Add Spring View support for Groovy Markup Templates

This commit adds support for Groovy Markup templates.
Spring's support requires Groovy 2.3.1+.

To use it, simply create a GroovyMarkupConfigurer and a
GroovyMarkupViewResolver beans in the web application context.

Issue: SPR-11789
Add resolveTemplate method to Groovy markup configurer
Fix failing test
Add "mvcUrl" function to Spring tag library

This commit adds a new function to the Spring tag library for preparing
links to @Controller methods. For more details see the Javadoc of
MvcUriComponentsBuilder.fromMappingName.

Issue: SPR-5779
Rename HttpStatus 308 to Permanent Redirect

Issue: SPR-11854
Add @ComponentScan documentation

This commit provides a proper documentation for the @ComponentScan
annotation as a java config alternative to <context:component-scan/>

Issue: SPR-11846
Fix method comment for getRequiredProperty(String)
Merge pull request #544 from kryger/patch-1

* patch-2:
  Fix method comment for getRequiredProperty(String)
PathMatching options:configure all HandlerMappings

Since SPR-11486 and SPR-10163, Path Matching options can be configured
to customize path matching options for RequestMappingHandlerMapping.
Prior to this commit, the defined pathMatcher and pathHelper instances
were only used in RequestMappingHandlerMapping.

This commit now registers pathMatcher and pathHelper beans under
well-known names and share them with several HandlerMappings beans,
such as ViewControllerMappings and ResourcesMappings.

Issue: SPR-11753
Fix "**" precedence in AntPathMatcher comparator

Prior to this commit, "**" and "*" pattern elements had
the same priority when comparing two patterns.
So when comparing several patterns, the computed order was:
1- /hotels/{hotel}/bookings/{booking}
2- /hotels/**
3- /hotels/{hotel}/bookings/{booking}/customer/{customer}

This commit updates the comparator so that patterns ending
with "**" (a.k.a "catch-all" patterns) are less specific than
the others; in the previous example, the 2nd pattern would
then end up last.

This commit also optimizes the comparator implementation.

Issue: SPR-6741
Further encapsulate AntPatternComparator$PatternInfo

Issue: SPR-6741
Rollback AntPathMatcher behavior for ".*" comparisons

Prior to this commit, AntPathMatcher had been refactored for SPR-6741.
During that process, a key feature has been removed:
When comparing two patterns, pattern elements (*, {}, etc) are counted
to score those patterns. When a pattern ends with ".*", the ending
wildcard should not be counted against pattern elements for this
pattern.

This commit reintroduces that behavior.

Issue: SPR-6741
Upgrade to Undertow 1.0.15 and fix failing test

Issue: SPR-11777
Check X-Forwarded-Host in ServletUriComponentsBuilder

Issue: SPR-11855