[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
I don't take it into account in the validation, it will interpret ISO8601 values correctly and also a few which do not strictly meet the criteria, such as `P0.5DT0.5H`. I don't think this is a major issue and this regex is complex enough anyway