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
Refactor PrefixResourceResolver into VersionResourceResolver

Prior to this commit, one of the available strategies for resolving
resources was the PrefixResourceResolver. Reconsidering the core goal of
this resolver, we found that the true core feature is versioning
static resources application-wide.

This commit refactors this ResourceResolver into a
VersionResourceResolver, which prefixes resources with a version string
as a default strategy.
This resolver can be extended to customize its strategy.

One can add a VersionResourceResolver like this:

  List<ResourceResolver> resolvers = new ArrayList<ResourceResolver>();
  resolvers.add(new VersionResourceResolver("fooversion"));
  resolvers.add(new PathResourceResolver());

Issue: SPR-11871