Make ItemStack setData() change durability. Fixes BUKKIT-3380

Additionally changed ItemStack to no longer store a MaterialData.
Returning a mutable object was improper. Cloning an internal version
would effectively be a redundant storage of the durability.