Fixed #23992 -- Optimized reorder_suite functions using OrderedSet
Fixed timesince translations for Korean

Refs #23989.
Forward port of eb632bfba from stable/1.7.x.
Merge pull request #3730 from tchaumeny/test_suite_reorder

Fixed #23992 -- Optimized reorder_suite functions using OrderedSet
Simplified handling of a default value.
Renamed get_template_from_string to from_string.

The shorter name is just as explicit and, well, shorter.
Cleaned up the django.template namespace.

Since this package is going to hold both the implementation of the Django
Template Language and the infrastructure for Multiple Template Engines,
it should be untied from the DTL as much as possible within our
backwards-compatibility policy.

Only public APIs (i.e. APIs mentioned in the documentation) were left.
Imported BaseEngine from the DEP.

i18n is left aside for now.
Added initial support for loading template engines.
Added dummy template backend.
Added jinja2 template backend.
Added Django template backend.
Removed some uses of global APIs from django.template.loader.
Passed a reference to the current engine when instanciating Template.
Isolated template tests from Django settings.
Looked up the default template engine in the list of all engines.
Supported multiple template engines in get_template and select_template.
Removed private API find_template.
Removed private API get_template_from_string.
Removed extraneous arguments in Engine.from_string.

This aligns the Django Template Engine API with the common template
backend API.
Supported multiple template engines in render_to_string.

Adjusted its API through a deprecation path according to the DEP.