Result class discards checkpoint metrics with value 0
🐛 Bug

When a Result class instance (i.e., TrainResult, EvalResult) is given a checkpoint metric with value 0, the metric evaluates falsy in the Result's init, and is discarded. This can cause issues downstream:

No checkpoints created if the metric is always 0 across all steps/epochs.
Fatal exception if this occurs on only one step in an epoch, since that step will have a different number of metric keys than the other steps when aggregating them together. (This may only occur when using a distributed_backend; exception is defined at 
  
    
      pytorch-lightning/pytorch_lightning/overrides/data_parallel.py
    
    
         Line 129
      in
      7cca385
    
  
  
    

        
          
           raise ValueError('All dicts must have the same number of keys') 
        
    
  

).

This happens because a checkpoint metric tensor of just a single 0 value will evaluate to False/falsy, and therefore fails the check at 
  
    
      pytorch-lightning/pytorch_lightning/core/step_result.py
    
    
         Line 42
      in
      7cca385
    
  
  
    

        
          
           if checkpoint_on is not None and checkpoint_on: 
        
    
  

 . The fix might be as simple as deleting the and checkpoint_on condition there... However, I'm not certain if that was intentionally put there for a reason and should not be deleted? I'd be happy to submit a simple PR and add some tests if that seems a reasonable fix though.
To Reproduce / Code sample
import torch
from pytorch_lightning import EvalResult

result = EvalResult(checkpoint_on=torch.tensor(0.))
result # {}
result.checkpoint_on # Does not exist

result = EvalResult(checkpoint_on=torch.tensor(1.))
result # {'checkpoint_on': tensor(1.)}
result.checkpoint_on # tensor(1.)
Expected behavior
result.checkpoint_on (or result['checkpoint_on']) should be defined and usable even when the checkpoint metric value given is 0.
Environment
* CUDA:
	- GPU:
		- GeForce RTX 2070 with Max-Q Design
	- available:         True
	- version:           10.2
* Packages:
	- numpy:             1.19.1
	- pyTorch_debug:     False
	- pyTorch_version:   1.5.1
	- pytorch-lightning: 0.9.0rc18
	- tensorboard:       2.2.0
	- tqdm:              4.48.0
* System:
	- OS:                Linux
	- architecture:
		- 64bit
		- 
	- processor:         x86_64
	- python:            3.7.8
	- version:           #38~1596560323~20.04~7719dbd-Ubuntu SMP Tue Aug 4 19:12:34 UTC 2