Refactor Version based ResourceResolvers

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

This commit refactors both Resolvers by:
* adding a common Abstract Resolver for resolving resources based
on their version
* rename PrefixResourceResolver in VersionPrefixResourceResolver

One can add a VersionPrefixResourceResolver like this:

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

Issue: SPR-11871