Clearer explanation when exception has no message

"No exception supplied" is misleading; actually there is an exception,
but there's no message string.
(Re-)moved some imports
Fixed #19326 -- Added first() and last() methods to QuerySet
Slightly reworded 'last()' docs.
Fixed #18702 -- Removed chunked reads from QuerySet iteration
Fixed #20476 -- Typo.
Fixed #20453 -- inspectdb test failure on Oracle
Fixed #20015 -- date__startswith('2008') fails under Oracle

Removed the explicit casting of strings to dates
Fixed #20012 -- test_year_lookup_edge_case fails under Oracle

Used formatted date instead of datetime object for the end of the
year range, as the datetime object loses fractions-of-seconds when
inserted into the db.
Fixed #18709 -- Check if initial_value is a callable

In _get_changed_data, check if initial_value is a callable and call it
if it is.
Merge pull request #1196 from selwin/last-doc-fix

Slightly reworded 'last()' docs
Fixed #19895 -- Second iterator over invalid qs raises errors

The fix was already in the patch for #18702, so only test added for
ticket #19895.
Merge pull request #246 from dekkers/ticket_18709

Fixed #18709 -- Check if initial_value is a callable
Fixed #20463 -- Made get_or_create more robust.

When an exception other than IntegrityError was raised, get_or_create
could fail and leave the database connection in an unusable state.

Thanks UloPe for the report.
Fixed #20478 – Added support for HTTP PATCH method in generic views.
Fixed a broken link introduced in a542b808baf.
Fixed #17048 - Added docs for upgrading Django.

Thanks Donald Stufft for the suggestion and
Susan Tan and Brian Fabian Crain for the patch.
Added a note about pip upgrade flag.

Thanks Jannis Leidel for the suggestion.
Added some text I meant to add in the last commit.
Clarified policy for stable branches.

Thanks Ramiro Morales for the initial patch and
Preston Holmes for the review.