fix exit(1) for tests
for some reason that I can't find in the docs, under py26, when trapping
exception information with pytest.raises(foo) as excinfo, sys.exit(1) yields a
"value" that's an integer, not an object. As a result:

>       assert excinfo.value.code == 1
E       AttributeError: 'int' object has no attribute 'code'

for some reason unknown to me, this happens when calling sys.exit(1) but NOT
when calling raise SystemExit(1). So, to keep py26 testing capability, use
raise SystemExit() instead of sys.exit().
*shrug* pretty fucking obscure...