Pingo: A Framework for the Management of Storage of Intermediate Outputs of Computational Workflows