Made find_node_criteria_from_pointer a static internal function in
depsgraph.c.

This will be replaced eventually.
Utility header for std::string.

Avoids repetitive "using std::string" and allows adding possible helpers
later.
Changed use of the unordered_map build test to allow using the actual
namespace elements and put hash specializations in it.

This follows the example set by ceres.
Replaced the generic owner in DepsNode by specialized owner pointers in
ComponentDepsNode and OperationDepsNode. This may get removed entirely
later on, but for now avoids potential casting errors.

TimeSourceDepsNode does not have an owner now, but it's largely
unfinished anyway.