Graph operations and predicate usage

Various graph operations and predicate usage to support LensKit integration with the new DAG nodes. I don't know that all these capabilities were actually used in LensKit, for better or worse.

Pull request #74 should be reviewed and merged *before* this one.