more information in dispatch-within-dispatch error

It seems pretty common for people to run into this error, and it might not be obvious which actions are involved when it happens, leading to a lot of logging to try to figure that one.   However, the dispatcher already implicitly knows which actions are involved, so this PR makes that knowledge explicit and relays it through the error that's thrown when there's a dispatch inside another dispatch.