Allow plugins to control enchanting of normally unenchantable items. Adds BUKKIT-1849

It's currently not possible for a plugin to allow enchanting of an otherwise un-enchantable item using the enchanting table.
This commit causes EnchantItemEvent to be called with an empty list of enchantments, allowing a plugin to provide it's own set of enchantments when vanilla minecraft would not allow any.  It also bypasses the UnsafeEnchantment check since a plugin should be permitted to apply any enchantments they like, and vanilla should not generate unsafe enchantments of its own.