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.
Should stick with the QueryBuilder where its possible to do so as this is the convention elsewhere.

I'm not sure I would have added another layer ontop of SERQL myself.