new Geometric Program object, with constants substitution

Closes #9 and much of #7; the interfaces for changing constants and adding or removing constraints are pretty rudimentary right now.