Fixes reaction deletion/removal

This pull request is around the functions Model.remove_reactions,
Reaction.remove_from_model, and Rection.delete.

These fucnctions now all have a flag for removal of orphan
metabolites/genes. Before, this behaviro was unspecified and unclear.
Moreover, this behavior is also tested under the unit tests.

Previously, the function Reaction.delete had bugs which prevented it
from working correctly, and was not under unit testing. This has now
been corrected.
warn and skip non-ascii gene_reaction_rule in sbml