Fix predicate compatibility check.
Full support for set/vector containment in search.

It is now possible to perform equality-lookup over containers. This means that
one can ask queries like:

    resp_mime_types ni "text/plain"

where the LHS is of type 'vector of string'. Essentially, we're support a
notion of set membership based on equality.

Type-based queries do not recurse into containers yet, but we will add that
feature in the future.

Relates #43.