Minor change to some asserts
Broke all the unit test code into separate files, restructured the tests/ dir
Fixed handling of unknown requests
Added a bunch of comments and a tiny code refactor