Made DEG_find_node a member function of Depsgraph.
New file for the Depsgraph struct.

Goal is to organize code in a slightly more C++ fashion. Don't need a
file for every single class, but dumping everything into a few large
source files doesn't help either.
DEG_get_node functions moved into Depsgraph.
Made add_new_node and remove_node member functions of Depsgraph.
Moved DEG_find_node_from_pointer and DEG_find_node_criteria_from_pointer
into Depsgraph.
Moved DEG_add_operation into Depsgraph.
Moved DEG_add_new_relation into Depsgraph.

Note: This function doesn't take a Depsgraph argument. Currently the
ownership for relation instances is shared between the nodes being
connected. This is not ideal, it prevents good memory management and
leads to ugly corner cases when freeing relations. Eventually relations
should be allocated and stored by the Depsgraph, since they only live
inside the depsgraph data anyway (ownership is with the graph).
Moved the DEPS_RELATION_ITER macros into the depsgraph files.

These could be done nicer with C++ container iterators eventually.