Added DataField, DataListener and DataEvent. Added methods to Data interface. Added DataField parameteres to Function interface. Added Saveable interface and added functions for registering saveables in the Core so that plugins can save their state when the core saves