revisions to ocl probes

These changes make the probe code simpler, the run_steps logic more complicated, but make the overall process of running the simulator faster. @hunse, would you mind having a look? I won't merge until you give the OK.