This change consists of the following commits.
Depsgraph: Don't use push-from-thread when scheduling graph
This isn't guaranteed that graph is scheduled from main thread,
so it is actually a miracle how it all worked.
Depsgraph: Cleanup, promote is_evaluating query
This way it might be used for sanity checks in RNA API as well.
Depsgraph: Inform when update or tag happens during evaluation
It is not allowed to do tagging or updates while dependency graph is
in the middle of evaluation.
This is something what is simple to violate from python code. This
change adds some sanity checks.
The request to update view layer or dependency graph will raise an
exception in Python now, so it's easy for scripters to notice.
Tagging for update will do silent return unless running with debug
command line argument. This is because it's a bit tricky to know
which exact dependency graph corresponds to a context from which
an update tag was triggered.