Ticket #20349 Don't load test suite when not needed

I noticed that `django/contrib/auth/hashers.py` is loading the `settings_changed` signal from the test suite. This ends up also loading the whole test suite in addition.

All of the other code that handles the `settings_changed` signal is kept inside the test suite itself. I assume this code is kept out of the test suite because of the "core shouldn't be aware of contrib" rule. Seems to me it's more important to avoid unnecessarily loading the test suite on a production website.

Yes, I realize this is picky, but we're perfectionists, right?

https://code.djangoproject.com/ticket/20349