reaction string no longer needlessly generated
Speedup DictList.remove

This speeds up the function ~3x on iJO1366 and likely more for larger
models. This replaces list.remove(x) with list.pop(DictList.index(x))
which prevents n string replacements from being done and replaces them
with the o(1) dict lookup. This is okay because the items are unique in
the DictList
remove DictList.get_id for less function call overhead
DictList.query uses list comprehensions
deal with copying reaction to pass unit tests
speed up add reaction
include tests for deleting reactions
fix bug in DictList.query (with added test)
Merge branch 'speedup' of https://github.com/aebrahim/cobrapy
added an option to make an array based model without converting to sparse lil_matrix
nlah