Fixed #14170 -- Reset i18n cache when settings change
Fixed ticket #21172

LiveServerThread.join() now behaves like threading.Thread.join().
LiveServerThread.terminate() is instead used to ask live http server to
terminate and close.
Updated the set of watched files after each request.

Otherwise the kqueue-based autoreloader may not see changes to files
that weren't imported when the server started.

Thanks Bouke Haarsma for the report and Loïc Bistuer for locating the
problem.
Merge pull request #1821 from Bouke/tickets/14170

#14170 -- Reset i18n cache when settings changed
Fixed #18149 -- Changed language codes for Chinese

Language codes for Chinese are zh_Hans (Simplified) and zh_Hant (Traditional).
Added support for browsers that still send the deprecated language codes.

Thanks to Olli Wang for the report.
Merge pull request #1868 from Bouke/tickets/18419

Fixed #18149 -- Changed language codes for Chinese
Improved changelog for runserver in 1.7.
Fixed python3 breakage introduced by c0a2388a1c4ead1afaec98e4ebc953a772ca3849.
Flake8 fixes
Fixed #10461 -- bug in generic relation + annotate() case

This issue was fixed when the contenttype restriction was moved from
where clause to the join clause. So, this is tests only addition.
Fixed #18419 -- Full backwards compatibility for old language codes

Improved documentation about zh-* deprecation and upgrade path.

Thanks to Baptiste Mispelon for the code reviews.
Fix python2 breakage caused by e5e044da87800feb6ef63fef1765d8c05022d926.
Improved English in release notes for runserver.

Thanks Tim.
Added more tests and documentation for dictsort.

It's possible to use something like {{ foo|dictsort:'bar.baz' }}
but this wasn't tested or documented.
Fixed a documentation typo introduced by b914991b37.
Fixed #21387 -- Merge two very similar help texts.
Fixed another typo introduced by b914991b3705cb6c91013d962c55cda9deb18d83.

Thanks Claude for catching it.
Fixed typos in documentation.
Distinguish between browser-deprecated locales and internally
deprecated ones.

Thanks to bouke for pointing this out.
Massive migration optimiser improvements + RenameModel opn