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 both says `@Nullable input` and asserts that input is not null. What should it be?