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