[RFC] Refactor codebase

cc @mlubin @IainNZ 
I was looking at CPLEX which has both, but it looks like Gurobi only has relative. I'll change it.