Drop VD type parameter from EdgeRDD

Due to vertex attribute caching, EdgeRDD previously took two type parameters: ED and VD. However, this is an implementation detail that should not be exposed in the interface, so this PR drops the VD type parameter.

This requires removing the `filter` method from the EdgeRDD interface, because it depends on vertex attribute caching.
Unfortunately, here we have to remove the statically-checked constraint that the cached vertices in `edges` are of the correct type (`VD`). Preserving this static constraint would require fromExistingRDDs to take an EdgeRDDImpl, which would be a breaking change.