[SPARK-4763] All-pairs shortest paths algorithm for GraphX

Computes unweighted all-pairs shortest paths, returning an RDD containing the shortest-path distance between all pairs of reachable vertices. The algorithm is similar to distance-vector routing and runs in `O(|V|)` iterations.
This checkpoint method will work? see: https://issues.apache.org/jira/browse/SPARK-3625