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)


This wrapping looks odd.  How about:

```
        src = self.neighbors(src)
        dst = self.neighbors(dst)
        neighbors = (set(src) & set(dst)) - set([src, dst])
```