Better exception handling

When I got exception while importing smoke.py module, I got "tests errored: 1" together with PASS.

* make the condition for PASS/FAIL message more strict
* separate try/except block for importing smoke module (for more helpful test error message)
* unittest for this (had to make separate test app so main test app would not fail)