For interval type, use timedelta if possible

Previously we always mapped the pg8000.Interval type to the PostgreSQL
interval type. However, to support the datetime.timedelta type we now
use it whenever possible. Unfortunately it's not always possible
because timedelta doesn't support months. If months are needed we now
fall back to the pg8000.Interval type.

This approach means we handle timedelta in a similar way to other
Python PostgreSQL drivers, and it makes pg8000 compatible with popular
ORMs like SQLAlchemy.
Prepare for new release