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.
added some comments and tests highlighting the concurrency problems with the previous solution
first take on a new system for exception reporting; still needs cleaning up and some thinking
changed to always reporting the current call

Also made debug=off by default and did some cleanup
made GraphExecutionWrapper.wrapException static
formatting and other cleanup
fixed review comments
fixed issue where we can wait forever when reporting an error
moved check for GraphExecutionException out into the fallback class
fixed fallback behaviour and clarified it in javadocs
tweaked the troubleshooting example a bit
Merge pull request #9 from pettermahlen/debug-info2

Simplify troubleshooting by reporting on node calls on failure