Add Marshal support to TrainingData
TrainingData#clone
Re-think some TODOs, fix warning on (unused) training data item-level access