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 was if something like `has_duration_field_type` might be more clear. Since `DurationField` will work on DBs where this is `False` it could be misleading unless you read the comment.