Mark all fields of EdgePartition, Graph, and GraphOps `@transient`

These classes are only serializable to work around closure capture, so their fields should all be marked `@transient` to avoid wasteful serialization.

This PR supersedes apache/spark#519 and fixes the same bug.