setup.py always rebuilds cglpk.c

 - uses force=True in cythonize.
 - cython is required to use the develop option
 - misc changes to setup.py (passes pep8 now)
Make solver interface more unified

Fixes #99

 - Model.optimize no longer gives parameter values by default. The
   defaults are left to the solvers.
 - Each solver has a _SUPPORTS_MILP attribute which can be used to
   determine if it solves mixed integer programs.
 - get_solver_name will raise a SolverNotFound exception when it can not
   find a suitable solver.
 - Each solver has a solver_name attribute which is used instead of
   attempting to remove the word "solver".
 - Solver options are now more unified. All solvers now accept (in
   addition to their own additional ones)
   - time_limit
   - tolerance_feasibility
   - tolerance_markowitz
   - iteration_limit
Remove deprecated solver functions
solvers no longer uses external parameters

Instead of importing parameters from an external parameters module, each
solver defines its own parameters. The following solvers were updated:
 - glpk
 - gurobi
 - cplex
Additionally, the parameter handling code was simplified,
making it more readable and easier to debug.