Fix setting the path to the Python package directory.
Fix setting the path to the Python package directory.

There were several problems with the existing implementation.

* When specifying ``--prefix`` the implementation would assume the
  path was ``$(PREFIX)/lib/python-<VERSION>/dist-packages``. This
  is incorrect. ``dist-packages`` is Debian (and its derivatives,
  i.e Ubuntu) specific and won't work on other Linux distributions
  such as Arch Linux.

* When generating the ``Makefile``, ``$(PREFIX)`` was only emitted
  during the Python installation when ``--prefix`` was passed on
  the command line. When ``--prefix`` was not passed the absolute
  path to the Python package directory was emitted. This is not
  very consistent.

This patch checks that the detected Python package directory lives
under the install prefix and emits an error if it does not as this
indicates that the installation will be broken. If the Python package
directory does live under the install prefix it replaces that prefix
with the ``$(PREFIX)`` variable when emitting the ``Makefile`` for
consistency with the other install commands.

If a user really wants to install to a particular Python package
directory they can force it with the newly added ``--pypkgdir=``
flag.

seahorn/z3,seahorn/z3,seahorn/z3,kyledewey/z3,kyledewey/z3,mschlaipfer/z3,kyledewey/z3,seahorn/z3,mschlaipfer/z3,kyledewey/z3,mschlaipfer/z3,mschlaipfer/z3,seahorn/z3,mschlaipfer/z3,mschlaipfer/z3,seahorn/z3,kyledewey/z3,kyledewey/z3