Simplify troubleshooting by reporting on node calls on failure

This change collects information about each node invocation and wraps
any exception during node invocation in a GraphExecutionException with
the additional data.
This whole verification sequence with the construction of ParameterValue, BindingDep and NodeInfo objects couples these tests too tightly with the implementation. Could the construction sequence be simplified and decoupled?