Remove the ItemStack.hasMetadata method

There is no longer an efficient way to perform this check, and I don't
believe there was a valid use case for its existence in the API in the
first place.

If a Plugin wants to interrogate for data, it should be doing so with a
specific key.
Add ItemMeta.set/hasGlowEffect. Adds BUKKIT-4767
Clean up PersistentMetadataValue

Extend MetadataValueAdapter directly for performance, and remove all
the variant constructor types. They were meant to serve as a
compile-time suggestion for what types are ok, but in practice it feels
cluttered.