NetworkModel::list_species returns a set of Species constituting ReactionRules
allow 0 for add/remove_molecules
ODEWorld should allow negative value
do not forget to add a header
use csv.writer for logging a time series