Add postgres_fdw contrib module.

There's still a lot of room for improvement, but it basically works,
and we need this to be present before we can do anything much with the
writable-foreign-tables patch.  So let's commit it and get on with testing.

Shigeru Hanada, reviewed by KaiGai Kohei and Tom Lane
Teach MSVC build system about postgres_fdw.

Per buildfarm.
Merge branch 'master' of /home/kgrittn/pg/postgresql into matview
Need to decorate XactIsoLevel as PGDLLIMPORT for postgres_fdw.

Per buildfarm.
Remove useless variable

Per Jeff Janes
Merge branch 'master' of /home/kgrittn/pg/postgresql into matview
Revert "For tab-completion, assume that TRUNCATGE should normally have object type."

This reverts commit 04678b6c88700949bac4a68778f8ab2cbb968e39.
Revert "Add tab completion for TRUNCATE changes."

This reverts commit ec7018f738144e62591c334f257a72b0d90502e5.
Revert "Fix copy/pasto in TRUNCATE changes."

This reverts commit d27436c419201969623a4ca28ca0b01bee472f7a.
Revert "Redo the TRUNCATE change such that MATERIALIZED need not be parially reserved."

This reverts commit af3d109840260ad10c61e8481d25a0ac0618fa74.
Revert "Modify TRUNCATE to support MATERIALIZED VIEW qualification."

This reverts commit d76e3e6dc8c02911b2102013f06f26f56166a452.