Turn off validation if val_percent_check=0
As was suggested by @williamFalcon in #536 (comment) val_percent_check=0 should turn off the validation loop. But now it will not work because of
 self.num_val_batches = max(1, self.num_val_batches)

So I suggest to fix it. Moreover I suggest to make more thorough processing of train_percent_check and val_check_interval:

We should require all *_percent_check and val_check_interval to be in the range [0.0; 1.0].
Final num_val_batches can be equal to 0 that will effectively disable validation.
Final num_train_batches and num_test_batches should be at least 1. (See also #631)
Final val_check_interval should be at least 1.
The user can try to turn off validation by setting val_check_interval to a big value. Maybe in that case we should print a helpful message that validation can be turned off by setting val_percent_check=0.

Any thoughts?