Merge pull request #79 from aebrahim/replace_fva

replace fva with faster re-written version
Fixed a bug in remove gene.

Replaced pop() with the correct function, remove().
add genes to reaction in an existing model

Just like with metabolites, adding genes to a reaction in a model will
update relationships for genes in the model.
misc cleanups to Gene/Reaction relationship

cobrapy can use the _associate_gene and _dissociate_gene new functions
internally for reaction/gene relationships, and the add_gene and
remove_gene functions (which, being unprefixed, are more user-facing)
can be deprecated
add a unit test
make reaction display prettier

Before:

>>> model.reactions.PGI.reaction
'1.0 g6p_c <=> 1.0 f6p_c'

Now:
>>> model.reactions.PGI.reaction
'g6p_c <=> f6p_c'
>>> model.reactions.ATPS4rpp.reaction
'4 h_p + adp_c + pi_c <=> 3 h_c + atp_c + h2o_c'
>>> model.reactions.CYTBDpp.reaction
'q8h2_c + 0.5 o2_c + 2 h_c --> q8_c + 2 h_p + h2o_c'
make reaction display arrows all the same size

-->
<--
<=>
read from mat/sbml uses gene_reaction_rule setter

This is instead of using now deprecated functions like
parse_gene_association or add_gene_reaction_rule
fix small bug from rebase