Introduce support for Informix INTERVAL values.

INTERVAL values are supported for retrieval and data modification actions.

Since the INTERVAL in Informix and PostgreSQL are different types in many cases, there
are some limitations to consider: We are able to retrieve fractions from Informix
INTERVAL values but don't push them in DML actions; that means they are
truncated during INSERT/UPDATE. Informix also defines two different ranges of
INTERVAL values, YEAR TO MONTH and DAY TO FRACTION. The latter is only
supported by converting them to DAY TO SECOND interval values (this is also the
reason why fractions are truncated). If a PostgreSQL interval value spans those
ranges, it gets truncated as well. Consider the following example:

INSERT INTO interval_test(f1) VALUES('100 years 5 minutes');

Since '100 years 5 minutes' spans an Informix interval range
from YYYY-MM to DD HH24:MI, the minute part of it gets truncated
to fit into the highest available range. This might be improved in the future, but
for now we go the simple route...

Basic regression tests added accordingly.

This commit also introduces the missing FDW callbacks for DML and EXPLAIN
and if a foreign table is updatable via IsForeignRelUpdatable().