allow for limit facets by constrains but not current one

I add new pull request (prev https://github.com/ankane/searchkick/pull/84) with packed and rewrite code. Now its much cleaner and better with better (more complex test). I hope you like it and merge. 

I change a little your code (do not delete from options values for geo stuff) just skip them later. With that it was a lot easier to access original options and use it in facets. Hope you don't mind ;]

Right now its nicely limit facets using options from basic search query but skip current one. In that way if we facets brand then brand doesn't limit itself, but limit other facets. I start using it on my current project and works exactly as it should, hope others will find it useful too ;]