Fixes a bug in graph creation for unknown dependencies

There was a bug where graphs with unknown deps couldn't be shown in the visualiser because task.params and task.family can't be called when task is None. This happens if you check a graph during scheduling or scheduling fails partway through. In order to make the graph look nicer, I added some simple code to infer params and family from the task_id. It should work in most cases, avoiding unlabeled nodes on the visualiser graph.

I added a test which triggers the previously broken state by raising an error while scheduling a dependency.