Do no allow any exceptions to slip by smoke test

As written, smoker treats exceptions other than X::Panda as success.  This is clearly wrong.  Instead of using the multi trick to determine success or failure, I've made a different sub for each case and choose which to call based on whether or not there was an exception.