Change interface for RaiseBomb

Because we're going to want to instantiate the bombs at configure time instead
of runtime, I'm changing the interface to put the time and message inside the
call to `#trigger`. This also adds `StinkyCodeError` instead of just raising
a `RuntimeError`.