(QENG-409) Beaker does not write out JUnit XML when...

...certain internal exceptions occur
- on ruby 1.8 Timeouts are raised as Interrupt (parented by SignalException)
  instead of out of RuntimeError (which is parented by StandardError) and are
  thus not being caught appropraitely.
- added spec test coverage for correct error reporting