Region Adjacency Graph

## Example Images
![figure_1](https://cloud.githubusercontent.com/assets/3823490/3291718/5ce9b952-f587-11e3-8c29-e2aace6d7794.png)
![figure_2](https://cloud.githubusercontent.com/assets/3823490/3291723/7074b134-f587-11e3-8c73-d28222891a21.png)


@stefanv src is being merged into dst. Therefore, we need to iterate over all neighbors of src and make them neighbors of dst, perhaps with the same weight, perhaps with an updated weight. Some of these will already be neighbors of dst, but their edge weights might need to be updated following the merge. So, "neighbor" contains the adjacent node currently under consideration.

Another way of looking at it is that weight_update_function is trying to merge edge (neighbor, src) into (neighbor, dst), the latter of which may or may not already exist.