Remove duplicate constraints in requirements/constraints.txt uncovered by the recent change in pip-compile output format. I sorted the pinned dependencies by name to try and make it more obvious if this happens again. I also upgraded to pip-tools 4.5.1, which removes the line numbers from the enhanced pip-compile output added in 4.5.0, which should reduce future diff churn and merge conflicts but means that there's a large diff this one last time.
Also unpin edx-search again after the previous change to do that was apparently broken by a merge conflict.
Unpin several more outdated dependencies whose changelogs don't contain any significant backwards incompatible changes. Also add "moto" to the list of packages to uninstall from existing environments, since it requires a jsondiff version that clashes with the one we now use (triggering a harmless but distracting warning on dependency updates).
We can potentially stop using path.py/path altogether by switching to pathlib in the Python 3 standard library, but that merits a separate PR of its own.
Also, note that I'm not actually unpinning freezegun; different PRs restricted it in both constraints.txt and test.in, I'm just removing the latter redundant constraint.
Bumped version of django-simple-history
Bumping django-simple-history in other requirements files
Removing the django-simple-history constraint as it is no longer an issue
Removing the comment from requirements/constraints about django-simple-history
React code (in jsx files) was not being extracted at all. Fixed this
by updating to edx-i18n-tools 0.4.5.
Also, template literals (feature of es2015) don't work well with
gettext at all. So convert those instances to HtmlUtils or
StringUtils interpolation calls.
FEDX-505