joinWithVertices implemented and tested

Hmm why would you want to join with a Dataset of `Tuple1<K>`? The whole point of this method is to update the vertex values from some external input. What you do here would have no effect. I guess it should be `DataSet<Tuple2<K, T>>`, where T is some arbitrary type.