Scalable Implementation of Switching Models

This branch implements a first order method to approximately solve semidefinite programs. The code is only partially working, but should start stabilizing over the next week or so.
Python 3