Refactor BundleVersionsHash

to make it easier for external code to invoke the hash functionality.
Goal is to allow external servlets and other code to be able to generate cache bust hashes by calling ```BundleVersionsHashBase.generateHash(String[] headerNames, String[] bundleNames).```