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)




We need weights of the crossing edges, i.e. edges with one node in A and the other in B.
`mask[x]` is `True` if `x` is in A and `mask[x]` is `False` if `x` is in B 
Therefore, we need weights `w[i, j]` such that `mask[i]` is `True` and `mask[j]` is `False` . 
That is, the `w[i, j]` where `mask[i] XOR mask [j]` is `True`.
Hence the matrix of XORs 

I will put that in a comment.