* Fix one-off error where checkpoint saved a step early.
* Fix issue where `restore_from='fresh` uses the counter from a previously-trained checkpoint.
* If `restore_from='latest` , `steps` will now train for the specified amount of steps, instead of the training until the specified number of steps. (13, 14)