BUG: Make Optimizer subclasses respect steps=0
When steps=0, the conditional expression would evaluate to false causing the optimizer to not respect the step condition and run the optimization to completion. This fix solves that bug.
Closes: #1183 (closed), #1258 (closed)
Edited by Ugo Nwosu