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)


Don't use `l` as a variable name. I would actually rename `label` as `label_image` or `labeled_image` or `label_field`, and then you can say `for label in rag.node[node]['labels']`.

However, this procedure is very expensive (O(`g.number_of_nodes() * label.size`)). You do this much, much faster:

```python
map_array = np.arange(label.max() + 1, np.int)
for i, nodes in enumerate(comps):
    for node in nodes:
        map_array[node] = i
out = map_array[label]
```

This is now O(`g.number_of_nodes() + label.size`). 

Is this a use case where `rag.node[node]['labels']` will have more than one label?