Switched to pytest

I set up pytest. By using the `test.sh` script, you can both run the tests and see the current coverage.

Pytest also tests PEP8 conformance (with some exceptions, like max_line_length=99). Violations are counted as test fails.