[Bleeding] Validate inputs when adding enchantments to ensure they're not null. Fixes BUKKIT-3369

Null enchantments are not allowed for other methods, so we should also
validate the inputs for these methods as well. In the event that any enchants
are null, they will now throw an IllegalArgumentException. This prevents
possible errors during serialization.