Support easily reading and writing checkpoints from different systems instead of just to disk
🚀 Feature
I want to easily be able to extend model_checkpoint so that it can be used with blob stores instead of always writing to disk.  One way to do this is to abstract to replace the calls to os with an interface.
Motivation
I want to read and write my files from a blob store, not to disk.
Pitch
I want to easily be able to swap out reads and writes to disk with writes to a blob store.
Alternatives
Write a nearly identical class to ModelCheckpoint
Additional context