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
Upgrade to Groovy 2.3.3

See release notes:
https://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10242&version=20415
Ignore external resources in CssLinkResourceTransormer

Prior to this commit, the CssLinkResourceTransformer would transform
"external resources", i.e. resources not served by the web application.

This commit only allows transformation for resources which path don't
contain scheme such as "file://" or "http://". Only relative and
absolute paths for resources served by the webapp are valid.

Issue: SPR-11860
Update Eclipse import script regarding AJDT
Improve StringUtils#trimAllWhitespace

Prior to this commit, StringUtils#trimAllWhitespace(String str) was
unecessary slower. Using sb.deleteCharAt(index) leads to a complete
copy of the char[]
Merge pull request #562 from hengyunabc/master

* pull562:
  Improve StringUtils#trimAllWhitespace
Support java.util.Optional for @MVC named value args

After this change, java.util.Optional is supported with @RequestParam,
@RequestHeader, and @MatrixVariable arguments in Java 8. When Optional
is used the required flag is effectively ignored.

Issue: SPR-11829
Created SettableListenableFuture with tests

A SettableListenableFuture implementation of Spring's ListenableFuture
The class is inspired by Google Guava’s
com.google.common.util.concurrent.SettableFuture, but this
implementation uses ReentrantReadWriteLock and CountDownLatch
internally to handle thread synchronization.

Issue: SPR-11614
Revise SettableListenableFuture implementation

This change modifies the SettableListenableFuture implementation to use
internally a ListenableFutureTask created with a "settable" Callable.

Issue: SPR-11614
Merge pull request #504 from matsev/SPR-11614
Add suppress warning in SettableListenableFuture
Latest dependency updates (Jackson 2.4, Jetty 9.2.1, H2 1.4.178, Apache HttpClient 4.3.4)