Added PlayerEnchantEvent

This event fires when the player chooses one of the options in the enchantment
table. This event allows access to the list of enchantments that will be
applied to the itemstack, and access to the itemstack being enchanted.
Post doesnt need to be in the helper unless you need to do more stuff in the helper.
Such as assigning the values from the event.

Note: you can save yourself 2 lines in the patch, and some complexity by simply changing the 2nd argument in your onEnchant call to 'list', and not deleting the previous line. Lists are mutable.
Also I like how you sorta obfusicate setting itemstack by doing inv.set(0, e.stack); stack = inv.get(0) instead of stack = e.stack;
Much easier to read if you dont go that route.