Search Scopes (Reloaded)

Using ransackable_scopes, users can define whitelists for allowed model scopes.

To facilitate the review, I have collapsed the original work by @avit and @glebm into one commit. I've only contributed a small bug fix and a nicer `search.rb#inspect` method, so the thanks and credits should go to @avit and @glebm for the actual implementation.

See #288 for the discussion.

I'll repeat the rebase from time to time (or on request) until @jonatack or another collaborator can free some time to review this PR.