Fix UriComponentsBuilder.fromUriString parsing error

This commit fixes cases where part of the URI was mistaken for the
userinfo when:
* the URI did not contain any path
* the query string contained the "@"

Issue: SPR-11964
Add support to reference external HandlerMethodArgumentResolver beans which might contain already configured instances (e.g. through a 3rd-party namespace handler).

 Users can not mix and match between "inner bean" argument resolver and "external bean" argument resolver. This commit only focuses only on argument-resolver, while the support could be extended to return value handlers as well.

 Issue: SPR-11927
Fix white space issue
Support <ref> for arg resolvers return value handlers

Issue: SPR-11927
DefaultBeanDefinitionDocumentReader evaluates profile attribute only in beans namespace

Issue: SPR-11975
MappingJackson2JsonView/MessageConverter calls non-deprecated Jackson 2.1+ createGenerator API

Also removing workaround for https://github.com/FasterXML/jackson-databind/issues/12 (fixed in 2.1+)

Issue: SPR-11262
Polishing
ExceptionTypeFilter and InstanceFilter live in util package itself now

Issue: SPR-9616
BackOff abstraction lives in util.backoff subpackage now

Issue: SPR-11746
Subpackage rearrangements within 4.1's jms-messaging alignment

Issue: SPR-10873
Polishing
Removed unused import (which indicated a package cycle)
Add after completion callbacks to ChannelInterceptor

Issue: SPR-11966
Test ASM5's bytecode parsing of INVOKESPECIAL/STATIC on interfaces

Issue: SPR-11979
MBeanExporter implements newly introduced SmartInitializingSingleton callback interface

Issue: SPR-8045
Add AppCacheResourceTransformer

This change adds a new ResourceTransformer that helps handling resources
within HTML5 AppCache manifests for HTML5 offline application.

This transformer:
* modifies links to match the public URL paths
* appends a comment in the manifest, containing a Hash (e.g. "# Hash:
9de0f09ed7caf84e885f1f0f11c7e326")

See http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#offline
for more details on HTML5 offline apps and appcache manifests.

Here is a WebConfig example:

  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {

    AppCacheResourceTransformer appCacheTransformer =
          new AppCacheResourceTransformer();

      registry.addResourceHandler("/**")
          .addResourceLocations("classpath:static/")
          .setResourceResolvers(...)
          .setResourceTransformers(..., appCacheTransformer);
  }

Issue: SPR-11964
Rename AppCacheResourceTransformer

This change renames AppCacheResourceTransformer to
AppCacheManifestTransfomer, in order to avoid confusion between this
transformer and the CacheResourceTransformer (which caches
transformations done by the chain to save CPU/memory at runtime).

Issue: SPR-11964
Polishing
Add a compiler for SpEL

With these changes an optional compiler is added for SpEL
expressions. The compiler is off by default but can be enabled
via the SpEL parser configuration object or system property
(when SpEL is embedded and parser configuration is not possible).
Not all expressions are currently handled but the common
cases are and it is an extensible compilation framework.

Issue: SPR-10943
Merge pull request #554 from aclement/SPR-10943

Add a compiler for SpEL