Launchpad: A Programming Model for Distributed Machine Learning Research