Check goal target values against function range
In the case of StateGoals, having e.g. a target min larger than the lower bound of the function range/state would lead to adding a trivial constraint (epsilon will always be zero for any feasible solution).
It would not be obvious to the user by looking at the result that this was the cause of an input error, so we raise an exception when the target range is not in the function range.