------
* Massive redesign of the whole pipeline using features from MiniZinc 2.2.0
(earlier MiniZinc versions are no longer supported, yet PyMzn 0.17.1 should
work fine for the most part).
* Now PyMzn interfaces only to the `minizinc` executable, greatly
simplifying internal complexity.
* The `minizinc` function now only executes MiniZinc synchronously (i.e. wait
for it to finish before parsing the solution stream).
* Asyncronous solving is now handled via Python's `asyncio` package. The new
`pymzn.aio` module contains the `minizinc` *coroutine*, i.e. an asyncronous
version of the `pymzn.minizinc` function. The `pymzn.aio` module requires
Python >= 3.6.
* PyMzn can now parse MiniZinc enums into Python Enums and back.
* Substantial improvement of the preprocessing, solving and solution parsing.
* The `Solutions` class returned by the `minizinc` function has been improved
too.
* Removed the `MiniZincModel` class for dynamic modelling, just use Jinja
instead.
* Improved configuration facility.
* The `pymzn` command line executable has been greatly improved.
* This version is not backward compatible. Most of the existing code will need
to be adapted.