AskTimeoutException very non informative. Added more info to it.

This could be very useful for debug. Very often timeouts occurs inside external library and you are not able to attach failure handler to them and to understand what happens.
If code diff is too big then I could reduce it by removing a sender.
I think that is a reasonable solution. If the application uses defined message types it will be evident what you where sending, even if you can't see the exact contents.