Fixed #23420 - broken warning for unbound naive datetime objects

Fixes issue with warning message displayed for unbound naive datetime objects when `USE_TZ` is True. Adds unit test that demonstrates the issue (discoverable when using a custom lookup in MySQL) and clarifies docs.

Ticket [#23420](https://code.djangoproject.com/ticket/23420)
imports should be on separate lines, plus add a blank line between built-in and Django imports