Fixed #23071 -- Use last migration's name in dependency to other app

Changed the autodetector to lookup the name of the other app's last
migration in the graph and use that as dependency instead of using
__latest__.
Fixed #22849 -- Added Session.__str__()
Forward ported release notes for refs #23089.
Fixed #23088 -- Used `six` `range` type in `Paginator.page_range`.
Improved docs for GEOSGeometry.simplify()
Fixed #22827 -- clarified what each cache middleware does.

Thanks Keryn Knight for the report.
Merge pull request #2938 from dekkers/ticket_23071

Fixed #23071 -- Use last migration's name in dependency to other app
Mark initial_data as deprecated separately from syncdb. Refs #23077.
Fixed #23093: soft application detection for swapped models
Restore support for reading __latest__ for compatability
Fixed #23085: Better error message for PostGIS 1.5/bad custom fields
Fixed #23083 -- Fixed runserver reloading when deleting a file.

Thanks Collin Anderson for the report and hirokiky for the fix.
Fixed bad usage of rstrip() that caused test failure.

If the temporary file name contained a p or y as its last
characters, it would be stripped. refs #23083.
Fixed #23097 -- Switched to new octal format in docs
Added test for the #23070 problem
Fixed code to solve #23070 problem

Added a class to wrap callable in settings:
* Not to call in the debug page (#21345).
* Not to break the debug page if the callable forbidding to set attributes (#23070).

Thanks @bmispelon for giving me some advice.
Fixed #22887 -- Added comment for translators on unique_for_date error message
Merge pull request #2967 from hirokiky/fix23070

Fixed #23070 -- not to break the debug page by callable setting with __slots__
Fixed #22305 -- Added note to docs about UTF8 database requirement.
Fixed #23103 -- Added contributing tutorial link to contributing index.