[Model saving and loading] possibility to save additional content next to the checkpoint.ckpt file 
🚀 Feature
I want to save my variables that I need to init my model in a config file in the same folder as the checkpoint is saved. Therefore, my feature request is to make the variable filepath of save_checkpoint(self, filepath) in trainer_io.py (line 247) available in the function def on_save_checkpoint(checkpoint). Like this, I can save additional parameters in the same directory like the checkpoint. Overwriting the class method load_from_checkpoint allows me then to load again whatever I want and add to the args and kwargs object before passing it to  pl.LightningModule.load_from_checkpoint(checkpoint_path, map_location, tags_csv, *args, **kwargs).
Motivation
I want to use MyLightingModule.load_from_checkpoint(PATH) without adding the kwargs manually but loading them automatically from the checkpoint path. However, I also do not want to save the kwargs of my Model in the checkpoint itself, since then the checkpoint will be loaded two times, one time to get the kwargs and another time to actually load the model.
Pitch
Adding filepath of def save_checkpoint(self, filepath) as an argument to the def dump_checkpoint to then either add the filapath as a variable to checkpoint or pass it along the model.on_save_checkpoint(checkpoint, ).
Like this everybody is able to save anything else next to the checkpoint location.
Alternatives
Not really a nice one. I could of course define my own trainer and overwrite the method, but I think knowing the path in on_save_checkpoint has maybe many other advantages.
Additional context
Here, is an example of how my implementation would look like in the lightning module:
def on_save_checkpoint(self, checkpoint):
    with open(os.path.splitext(f'{checkpoint['filepath']}.yaml')[0]+'.yaml', 'w') as outfile:
        yaml.dump(self.model_kwargs, outfile, default_flow_style=False)

@classmethod
def load_from_checkpoint(cls,
        checkpoint_path: str,
        map_location: Optional[Union[Dict[str, str], str, torch.device, int, Callable]] = None,
        tags_csv: Optional[str] = None,
        *args, **kwargs
):
    kwargs = yaml.load(open(os.path.splitext(f'{checkpoint_path['filepath']}.yaml')[0]+'.yaml'), Loader=yaml.FullLoader)
    return pl.LightningModule.load_from_checkpoint(checkpoint_path, map_location, tags_csv, *args, **kwargs)