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)


@ahojnnes I just spent some time looking over their [release notes](http://networkx.github.io/documentation/latest/reference/api_1.9.html). Although everything in this PR works with 1.7 (even 1.5 I would think!), there's enough improvements in 1.8 that might come in handy in the near future (e.g. "Functions to generate all simple paths"), but, what's more, the changes in the just-released 1.9 version are numerous and very attractive! I might consider having *that* as a requirement! (Especially since we will not release for a few months still.) Some highlights:

> flow-based connectivity algorithms are up to 10x faster than in NetworkX 1.8 for some problems, such as sparse networks with highly skewed degree distributions.

> The linear algebra package (networkx.linalg) is changed to use SciPy sparse matrices.

> A tree package (networkx.tree) is added to provide tree recognition functionalities.