Support for debug graphviz output during the build process.

This uses two callbacks which can be set prior to rebuilding the
depsgraph. These will be called when nodes or relations are added, which
leaves the actual implementation up to the caller with minimal impact
on the depsgraph code.

These functions are stubs in non-debug modes, so they don't cause
overhead.

The Scene.depsgraph_rebuild() function implements this via an optional
filename argument. If this is specified it will dump build steps into a
sequence of files using _<N> suffixes with a running number N.
Renamed the scene depsgraph_rebuild filename argument to clarify that
this is for debugging only.
Handle the Pose Eval node type as a cluster in graphviz debug.
Tentative fixes for Pose Eval and related bone components and operations.
Cluster graphviz output for generic component node types.
Revert "Basic DepsNode type in RNA and a root_node property in the Depsgraph."

This reverts commit 39b76f27bc4b8437bedb08dde46f968f81b8040f.

The depsgraph requires only a minimal RNA representation as a means for
debugging addons to access it and request debug dumps. Removing this
also avoids internal header includes.