Improve reentrance of the side effects dispatching code (v.2)

An alternative implementation of #361 that preserves the behavior described [in this test](https://github.com/baconjs/bacon.js/blob/master/spec/BaconSpec.coffee#L1690-L1700).