Show correct undefined steps when nested

We are now catching the result from core and using that for our new
exception when the undefined step comes from a nested call, rather than
always creating a new undefined exception each time.

(Pairing with @mattwynne)