Number of batches is off-by-one during training
Describe the bug
The number of mini batches iterated over during an epoch seems to be off-by-one during training when passing a train_percent_check < 1.0. More specifically, it trains for one additional iteration.
The operator in this line should probably be changed from > to >=.
https://github.com/williamFalcon/pytorch-lightning/blob/master/pytorch_lightning/trainer/trainer.py#L1130
Evaluation by the way seems correct as seen in the following code.
https://github.com/williamFalcon/pytorch-lightning/blob/master/pytorch_lightning/trainer/trainer.py#L614
This leads to unexpected behaviors in e.g. EarlyStopping since the log that it's given is the callback log from the training and not the evaluation (the additional iteration overwrites the evaluation log with the training log).
To Reproduce

Specify some train_percent_check < 1.0 e.g 0.5.
Fit.
Notice that it trains for an additional iteration.

Expected behavior
It should not train for that additional iteration.