Tidy up handling of exceptions thrown from hooks, and unify inputhook/outputhook handling
Port TinyURL plugin from RosMud - roughly halving its code length in the process!
Remove some now-done TODOs