Do not loop fitting and producing
Before this MR the reference runtime looped until the primitive returned has_finished set to true from its fit and produce calls. But this is not correct. In fact, has_finished should always return true immediately because reference runtime is not providing any iterations/time limits.
One should be able to control through a hyper-parameter or hyper-parameters stopping criteria for the primitive.
Not looping prevents an infinite loop for misbehaving primitives which never return has_finished set to true.