Add CORS support

Support simple, actual and preflight CORS requests handling.

CorsHandler is the main class of this implementation
and has 3 main capabilities:
  - It defines a collection of mapped URL patterns
  - Simple or actual requests are handled by this
     CorsHandler acting as an HandlerInterceptor
     automatically detected and used by all
     AbstractHandlerMapping beans
  - Preflight requests are handled by this CorsHandler
     acting as a HttpRequestHandler

CORS request handling apply to a set of specified paths
and can be configured to specify allowed origins,headers,
methods, credentials support and max age.

The DispatcherServlet now automatically dispatches CORS
preflight requets (OPTIONS request with Origin header).

XML MVC namespace and JavaConfig based configuration allow
to configure CORS easily.

Issue: SPR-9278