Merge in IMOS hierarchical facets changes and update to use spring dependency injection

This pull request includes hierarchical facets merge and update to use spring dependency injection as previous pull request for hierarchical facets merge has not been merged.
Concrete translators still subclass Translator.  In the next pull request I change it to an interface as it has no behaviour to be inherited by subclasses, it just defines an api.