Trying to refactor enforceSpeciesConstraints in CoreEdgeReactionModel

Trying to reduce code duplication.
My idea was to have a function that enforces the species constraints, 
and pass this function in to the family reaction generation routines,
rather than passing in the dictionary of constraints and having the 
checks be done in two different places.

I'm not sure it's very elegant though, and is probably currently broken...
(committing now before I forget).