Fixed #19634 -- Added proper __hash__ methods.

Classes overriding __eq__ need a __hash__ such that equal objects have
the same hash.

Thanks akaariai for the report and regebro for the patch.
Fixed #18191 -- Don't consider Accept-Language redundantly in cache key.

Thanks to choongmin for the original patch.
Fixed a caching test on Python 3.
Updated an inaccurate comment.

Tests can run nearly as fast under PostgreSQL and MySQL as under SQLite
with a bit of configuration and the speedup is always a good thing.
Moved test_templates to templates to prevent issues with regressiontests/templates later on.
Removed __init__.py files.
Merged regressiontests and modeltests into the test root.
Adjusted runtests to the new layout.
Adjusted coveragerc
Renamed some tests and removed references to modeltests/regressiontests.
Renamed a template to be found by the loaders.
Updated docs to reflect new tests layout.

Thanks to Ramiro Morales for the initial patch.
Ensured that we have an absolute path to RUNTESTS_DIR.

This is needed to make 'python runtests.py' work, otherwise only
'python ./runtests.py' would work.
fixed admin_scripts tests on python 3.3
Changed test_runner tests to use full python path for settings files.
Fixed discovery of the Django installation during tests.

If Django was symlinked into site-packages the previous approach to discover
the tests subdirectory would fail. The revised version now always points to
the location of the source and not the import path.
Fixed #19922 - Typo in translation docs.

Thanks amoebob for the report.
Added note about updating default docs version in howto-release doc.
Merged core translations from 1.5 branch
Merged contrib translations from 1.5 branch