Removed low-level lpsolve access functions.
Refactoring api.

Added an objective struct in addition to the constraint struct. Fleshed
both of these out and added constructors for them which hide some
implementation details of lp_solve from the user.