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