Introduce osops_search function, refactor others to use this.

There was much dupliced code in ip_location.rb. Much of this has been
moved into osops_search and called from the other search functions. The
interface for other cookbooks has stayed consistent, however
osops_search may be used directly in future, to allow more control such
as searching by role, recipe or both.