Add has_foreign_table() and hasnt_foreign_table().
Add has_composite() and hasnt_composite().
Add `rel_owner_is()`.
Add `table_owner_is()`.
Ignore .orig.
Add `view_owner_is()`.
Add `sequence_owner_is()`.
Add `composite_owner_is()`.
Add `foreign_table_owner_is()`.
Add `has_relation()`.
Rename `get_rel_owner()` to `get_relation_owner()`.
Add `function_owner_is()`.
Increment to v0.92.0.
More friendly message when no plan.

Closes #22.
Ignore internal triggers in `triggers_are()`.

Closes #17.
Offer more useful diagnostics on data type errors in results_eq().

It was confusing people when output looked like this:

    Columns differ between queries:
       have: (1,2,3)
       want: (1,2,3)

This would happen when the data types were different but the values the same
(e.g., the first row might have integers while the second would have bigints).

Make two changes to try to adddress this information:

1. Change the diagnostic message to the more informative "Number of columns or
   their types differ between the queries".
2. Don't show the "have" and the "want" if they're identical.

Hopefully this will be less confusing to folks. Closes #15.
Moved To-Dos to Github.

See https://github.com/theory/pgtap/issues.
Add `isnt_empty()`.

Closes #31.
Improve handling of expressions in `has_index()`.

Rather than allowing only one expression, allow columns and one expression to
be mixed in a single query. This is much closer to what one should expect. The
downside is that, if an index has multiple expressions, there is no way to
separate them, yet. Will fix if I get an answer to post to -hackers about it.
Meanwhile, this should get us further along than we were before, and requires
less code, to boot! (Ref #12.)
Properly query both columns and expressions from indexes.

Thanks to Tom Lane for pointing me to `pg_catalog.pg_get_expr()`. Closes #12.