Fixed #2443 -- Added 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
Sorry, using convert_value() isn't what I had in mind, I meant using field.get_db_converters() to add connection.convert_duration() when not has_native_duration_field.