Several fixes

Rainbow (new version) has an incompatible API, which was causing several hooks to fail disastrously (such that you couldn't even uninstall them with Ghundle). There's more test coverage now, too, though not 100%, because testing signals is harrrrd.