Refactor BundleVersionsHash

to make it easier for external code to invoke the hash functionality.
Goal is to enable remote code (e.g. external servlets) to access cache bust generation logic used by aggregator.  This can be done by calling 
```
BundleVersionsHashBase.generateHash(String[] headerNames, String[] bundleNames)
```