Tasks, stability, architecture, and compute: Training more effective learned optimizers, and using them to train themselves