Test VertexPartition and fix bugs

VertexPartition was the last untested part of the GraphX API, so this closes #111.

There were some unhandled edge cases in VertexPartition which this fixes. Closes #96.