Fixed #14226 -- Dependency calculation for complex M2M relations.

`sort_dependencies` incorrectly interpreted 'complex' M2M relations
(with explicit through models) as dependencies for a model. This caused
circular complex M2M relations to be unserializable by dumpdata.

Thanks to aneil for the report and outofculture for initial tests.
Unneeded, Python 3 incompatible code in a75324c6 tests.
Fixed #20936 -- When logging out/ending a session, don't create a new, empty session.

Previously, when logging out, the existing session was overwritten by a
new sessionid instead of deleting the session altogether.

This behavior added overhead by creating a new session record in
whichever backend was in use: db, cache, etc.

This extra session is unnecessary at the time since no session data is
meant to be preserved when explicitly logging out.
Fixed some test models' natural_key() methods.
Completed long overdue sqlinitialdata deprecation.
Fixed #22613 -- Added formfield_for_choice_field() to the list of methods that InlineModelAdmin supports.
Fixed flake8 error.
Added 1.6.5 release note for refs #22508.