Ensure the correct shell is used in tests
Ensure the correct shell is used in tests

The test runner has been refactored as such:

- Every line is now documented
- Tests are passed directly to the shell under test, bypassing shebangs
- Shells are invoked with `nounset` set
- The test runner should be compatible with all shells supported by shpy
- A non-zero status is returned by the runner if any test fails

mkropat/shpy