The CPLEX interfaces is tested against the netlib library now (a relative error < 1% is acceptable). It is not yet tested on travis-ci though. Furthermore, models with range constraints can now be imported.
Fixes build 63 on travis-ci
No more 'from glpk.glpkpi import *'
No more info logging
pycharm eliminated an import of 'types'
Missing variables are determined much more efficient now when a new objective is set.
Revert "Missing variables are determined much more efficient now when a new objective is set."

This reverts commit 75b2eb112ddb2d5d2ae15a5c8d9aa6ea40467a6a.
Missing variables are determined much more efficient now when a new objective is set.
GLPK objective coefficients are much more efficiently reset to zero if a new objective is set.
model.objective += 3. var works now
model.objective += 3. var works now (and objective coefficients are reset to 0 efficiently again)
Introduced abstract base class for Constraint and Objective
Adding a variables, constraints, and objective of a different solver interface type to model will raise a TypeError now.
Solver-specific constraints and objectives are now responsible for checking feasible mathematical expressions.
Refactored __setattr__ based attribute handling to property based handling
Giant messy commit after cleaning up using pycharm inspection
Work in progress on other solver interfaces has been separated into separate branches
Fixed double requirements
inspyred import got lost during cleanup
Model, Variable, Constraint, and Objective can now be cloned.

For example:

cplex_model = cplex_interface.Model.clone(glpk_model)