add cython glpk solver

Because pyglpk has not been updated to run with newer versions of glpk,
this version in cython uses the c api directly.
build and import cglpk extension
build/test on travis
introduce get_solver_name() to pick a solver

glpk no longer needs to be hardcoded as the default solver in every
problem definition. The default solver in the keyword argument can be
None, and can call get_solver_name() to get a solver. This can return a
different solver if glpk is not installed.

get_solver_name can be passed qp=True to specify a quadratic program or
mip=True to specify a mixed integer program
small bugfix to get_solver_name
fix cglpk MIP solution formatting
fix testing of mip solvers
fix circular import problem
fix circular imports in java solvers
get_solver_name in double deletion
cglpk can be linked glpk in base directory

This allows for easy static linking to libglpk if it is not installed
sytemwide. Adding the statically built libglpk.a and glpk.h header to
the same folder setup.py is being run will build against those files.
continue install after building c extension fails

Using the same approach as sqlalchemy, create a custom build_ext which
runs in a try/except block, allowing installation to continue even if
building the solver failed.
Merge pull request #68 from aebrahim/cython_glpk

glpk implementation written in cython