Cap batch size by number of training samples when using auto_scale_batch_size
🐛 Bug
The batch size finder sets an unrealistically high batch size if all samples of the training dataset fit into one batch.
...
Batch size 8388608 succeeded, trying batch size 16777216
Batch size 16777216 succeeded, trying batch size 33554432
Batch size 33554432 succeeded, trying batch size 67108864
Finished batch size finder, will continue with full run using batch size 67108864

To Reproduce
Steps to reproduce the behavior:

Run Mnist Example with auto_scale_batch_size=True (one needs to remove hardcoded batch size and set self.batch_size).

Expected behavior
Batch size search space should not be larger than number of available training samples.