test: ensure DictLists remain independent
add Model.repair

For now this function will regenerate DictList indexes. Eventually, this
function should also ensure all relationships are correctly maintained.
Reaction.pop will accept a metabolite id

If a string is given to Reaction.pop, the function will find the
appropriate metabolite object and remove that from the reaction.