Sort out the exception handling in multi/ endpoints.

Fake up 'finally' functionality when dispatching commands, in order
to ensure that the outputs get properly assigned. Add an exception
detail setter which generates the same shape error objects as the
top level dispatch handlers (thanks to the recently added helper).

Change-Id: I6b2801a15da02287cd7ed8416380407fcc32834b