Adds upstream dependencies option to visualizer

Uses new api call /api/inverse_dep_graph/<task_id>, which returns
the same data types as  /api/dep_graph, except the "deps" field
is inverted.

E.g. If A requires B, the data returned is
{
  "B()": {
     deps: ["A()"]
  }
}
Add test, fixes from test

Inverse dependency wasn't being added if we'd already seen it
Merge pull request #288 from JoeEnnever/upstream

Adds upstream dependencies option to visualizer