Intermediate step in renaming and modifying CraftMetaItemData.java
Implement CraftItemStack's Metadatable interface

This replaces the ConfigurationSection-based getCustomData() method.

The metadata store will only accept a new PersistentMetadataValue
class, which encapsulates and hopefully clarifies the notion that only
"persistable" data can be stored here. This includes Lists, Maps, most
basic types, and ConfigurationSerializable objects.Implement
CraftItemStack's Metadatable interface