Keras metric callback
Hey, here's the unfinished Keras metric PR, co-authored with @merveenoyan!

Still to do:

1) The outputs from predict/generate are not being concatenated properly, this will be quick to fix! (Edit: Done)
2) I haven't tested prediction with generate at all. `generate()` is still very slow, but that's a separate PR :fearful: 
3) More broad testing with multiple metric functions.
I feel like it makes sense to test on three notebooks. (could be overkill so you decide)
- Token classification
- Translation
- Masked language modeling
If you approve I’ll test for these ones. I wonder how it would look like with multiple metrics so in one of those I could test with multiple metrics (prolly token classification one)
@Rocketknight1 <|||||>@LysandreJik Absolutely yes, that's getting added!