add mask operation to Graph
add filter operation to GraphOps
Load edges in columnar format

In GraphLoader.edgeListFile, load edges directly into EdgePartitions,
avoiding repartitioning.
Don't partition edges by default; refactor

Instead, expose Graph.partitionBy(PartitionStrategy).
Fix argument bug and closure capture
Clean up imports in EdgeRDD
Remove calls to ClosureCleaner in GraphX

All Spark RDD methods already clean closures so we don't need to.
Incremental view maintenance for all graph ops

All GraphImpl operations now support incremental maintenance of the
replicated vertex view by reusing vTableReplicated whenever
possible. This has two consequences:

- This is not confined to the deltaJoinVertices operator anymore,
  so we rename it to the more intuitive "updateVertices" instead.

- This enables mrTriplets to support skipStale.
Don't expose {src,dst}Mask in EdgeTriplet

Exposing this information is not necessary due to the addition of
skipStale.
Fix bug in mapVertices and outerJoinVertices
Finish up 49f7fc5ed2edd42b118182438d84ed7d4e7d521f
Fix bug in interaction of incr. view maint., skipStale, and join rewrite
Define localVidMap once per VTableReplicated
Reuse previous localVidMap if available
Handle diffing VertexPartitions with different indexes
Test more graph ops and skipStale
Remove printlns from test
Expose srcStale and dstStale
Replace update with innerJoin (has a bug)

There is a conflict between vertices that didn't change so are not moved
but still need to run, and vertices that were deleted by the innerJoin
so should not run.
Replace skipStale with activeSetOpt in mrTriplets (fails Pregel)