Result filtering on search (also known as Partial Search)

First take at refactoring search to allow selective results, rather than returning the whole thing.
Why not just do:

if args[0].class == Hash
  scrubbed_args = args[0]
else
 ....
end

No reason to have the not, just change the order.