Inconsistent `outputs` format between `training_epoch_end` and `on_train_epoch_end`
🐛 Bug
The outputs object for on_train_epoch_end should not include the extra field
To Reproduce
def test_bug(tmpdir):
    class TestModel(BoringModel):
        def training_step(self, batch, batch_idx):
            output = self(batch)
            loss = self.loss(batch, output)
            return {"loss": loss, "foo": 123}

        def training_epoch_end(self, outputs):
            print("training_epoch_end:", outputs)

        def on_train_epoch_end(self, outputs):
            print("on_train_epoch_end:", outputs)

    class TestCallback(Callback):
        def on_train_epoch_end(self, trainer, pl_module, outputs):
            print("callback on_train_epoch_end:", outputs)

    trainer = Trainer(default_root_dir=tmpdir, fast_dev_run=True, callbacks=[TestCallback()], progress_bar_refresh_rate=0)
    trainer.fit(TestModel())
callback on_train_epoch_end: [[[{'extra': {'foo': 123}, 'minimize': tensor(1.1792)}]]]
on_train_epoch_end: [[[{'extra': {'foo': 123}, 'minimize': tensor(1.1792)}]]]
training_epoch_end: [{'foo': 123, 'loss': tensor(1.1792)}]
Expected behavior
on_train_epoch_end acts as training_epoch_end
Environment
master
Additional context
Reported by Marek O in Slack