Normalized Cut on RAGs (WIP)

I will upload the test case real soon, till then I would like to invite comments/suggestions on the code.

All of the below results were computed with the same default values.
## Results
### Images from `data`
![camera_cut](https://cloud.githubusercontent.com/assets/3823490/3666957/d1f002cc-11f9-11e4-99c4-f1da5a27b3ee.png)
![coffee_cut](https://cloud.githubusercontent.com/assets/3823490/3666959/d1f5afb0-11f9-11e4-92bd-66a73cc93823.png)
![coin_cut](https://cloud.githubusercontent.com/assets/3823490/3666958/d1f4855e-11f9-11e4-97c3-447704f301cc.png)

### Custom Images
#### Input
![baby](https://cloud.githubusercontent.com/assets/3823490/3666966/18c50f4e-11fa-11e4-9832-ebc89b1e4cd1.jpg)
#### Output
![baby_cut](https://cloud.githubusercontent.com/assets/3823490/3666969/1e503448-11fa-11e4-94c1-3dfc9a15907c.png)

#### Input
![fruit](https://cloud.githubusercontent.com/assets/3823490/3666973/36895ca6-11fa-11e4-96c2-49655373234b.jpg)
#### Output
![fruit_cut](https://cloud.githubusercontent.com/assets/3823490/3666975/3afbf56e-11fa-11e4-8785-2915cd388748.png)

#### Input
![car](https://cloud.githubusercontent.com/assets/3823490/3666976/400081d8-11fa-11e4-8e39-ba1348d386df.jpg)
#### Output
![car_cut](https://cloud.githubusercontent.com/assets/3823490/3666979/4774681c-11fa-11e4-8d0f-fd02927dc376.png)




In the current code, `n` will point to the `id` of the node, and we are picking a subset of `n`s. If `cut[i]` is `True`, `rag.nodes()[i]` is is Set A.

`cut` is derived from `D` and `W` matrices, which also follow the ordering returned by `rag.nodes()` because we use [to_scipy_sparce_matrix](http://networkx.github.io/documentation/networkx-1.7/reference/generated/networkx.convert.to_scipy_sparse_matrix.html) .

As an example.

If `rag.nodes() = [3, 7, 9, 13] `
and `cut = [True, False, True, False]`
`nodes1 = [3, 9]`
`nodes2 = [7, 10]`