[contrib.postgres] Fixed #2443 -- Add DurationField

This has been added to core as well following design decision taken in https://code.djangoproject.com/ticket/2443

This field was never merged due to UI related issues. Personally I think a CharField with `DD HH:MM:SS.uuuuuu` formatting in it is sufficient - this is basically what a `TimeField` does anyway.

Uses `bigint` of microseconds for non-psql databases, `interval` on postgres.

Todo:
- [x] docs
- [x] form field
would it be worth having this method on the base backend with a feature flag that controls whether or not it's called? not sure what the situation with 3rd party backends will be, but it would be nice for each backend that needs it not to have to copy/paste