moved unrelated tests out of web module

in the process, fixed stream capturing

unfortunately, this doesn't work properly yet: run individually, each
test module passes - but taken together, there's CWD-related weirdness