Fixed refs #24007 test on Windows.
Added words to docs wordlist.
Added upgrade instructions for deprecated model _meta permission methods.
Fixed #2443 -- Added DurationField.

A field for storing periods of time - modeled in Python by timedelta. It
is stored in the native interval data type on PostgreSQL and as a bigint
of microseconds on other backends.

Also includes significant changes to the internals of time related maths
in expressions, including the removal of DateModifierNode.

Thanks to Tim and Josh in particular for reviews.
Correct scoping of savepoint example
Refs #2443 -- Fix Oracle tests for DurationField.

It helps if there are the correct number of microseconds in a second.
Merge pull request #3763 from dcramer/patch-2

Correct scoping of savepoint example
Fixed #24034 -- Don't always overwrite deconstruct path.

Made deconstruct path overwriting for ArrayField conditional,
so it only occurs when the deconstructed field is an instance
of ArrayField itself and not a subclass.
Fixed #24017 -- Added python_2_unicode_compatible in db/migrations
Merge pull request #3765 from wlanslovenija/ticket_24034

Fixed #24034 -- Don't always overwrite deconstruct path.
Fixed #23998 -- Added datetime.time support to migrations questioner.
Fixed #23792 -- Added test.utils.freeze_time() context manager.
Fixed #23959 -- Clarified when checks automatically run.
Fixed #23525 -- Fixed admindocs crash on apps installed as eggs.

Thanks welbornprod for report and initial patch.
Refactor compiler SELECT, GROUP BY and ORDER BY generation

While there also refactored select_related() implementation
(get_cached_row() and get_klass_info() are now gone!). A lot of
additional cleanups and changes done, too.

Made get_db_converters() method work on expressions instead of
internal_type. This allows the backend converters to target
specific expressions if need be.

Also changed the signature of database converters. They now accept
context as an argument.