Fix foreign_key_info with unspecified schema

If the schema is not specified, use pg_table_is_visible() to find the
first one in search_path.

Adjust the test to actually trigger the bug (the query seems to return
the tables in schema creation order, at least on PostgreSQL 9.2).
Fix ORDINAL_POSITION in foreign_key_info

It's supposed to be the column's position in the constraint,
not the position in the referring table.
Remove ODBC support from foreign_key_info

It's been "ready for the future" for nearly 10 years,
but the future clearly never happened.
Rewrite foreign_key_info to be just one query

Do all the data munging in SQL, and just spit the result straight out,
instead of three separate queries with lots of munging in perl-space.