Rewrite of dist_ecos

Hopefully this isn't too painful to understand. I removed the R format, since it's just a stacking of A and G. I handle them directly in the code.

The cover functions are assumed to return a partition list, so something like

    [0, 1, 1, 0, 0, 4,4, 2, 1, 1, 0]

with each entry corresponding to each row of `[A; G]` and the entry telling us which *subsystem* the row is on. A separate function handles the `dealing` now. This let me remove the R format.

I added the Laplacian splitting. You can also try different partitioners. Download the binaries and provide the path in the sample script. I will likely do the same with metis so you don't have to install PyMetis.

I also wrote the code so multiprocessing now works.