Get neighborhood graph

Hi,

I gave a try at the getNeighboorhoodGraph method and ended up with two implementations, one using a bulk iteration and one using a delta iteration. Look at the `getNeighborhoodGraph` and `getDeltaNeighborhoodGraph` methods. 
The main difference between the two is that, when using a delta iteration, you can add in the workset only the new vertices you discover in each iteration. However, in order to compute that, I have to compare with the previous workset and create the difference, which is not so efficient.
So, I'm not sure which one of the two to keep. Any clues?

Also,  I added a `getNeighbors(VertexID)` method in the Graph class, which returns the neighbors of the given vertex in a Dataset. This would be a simpler (or alternative) way to deal with #18.