tests: rework the tests to run with `pytest`
This commit reworks the tests so that instead of a having to use
the slightly unusual pattern of python3 ./tests/test_all.py
the
more familiar and common pattern:
$ python3 -m unittest
$ pytest-3
works.
In the second (and maybe more controversial) commit I also change the way that the get_library_path() is inserted into sys.path (when detected).