refactored facets
Refactor Finder and FacetCollection
SelectFacet doesn't know about base Facet params
Api is now a singleton thing, no need to pass it round
FacetCollection raises if facet type is unknown
Move hash parsing into dedicated parser objects
move document_noun into finder
Fix failing cucumber
Merge pull request #1 from alphagov/refactor-filter

Refactor all the filter objects and make API a singleton