Improvements to our test framework.

For #90.

- Added test data
- Restructured testing hierarchy
- Added tests for `IsKspDir()`

See individual commit messages for exact changes; they're well
documented.