Added ContainerInteractEvent

1. Added ContainerInteractEvent
 - Used to interrupt whether a container should or should not close
2. Added method canInteractWith in ForgeHooks (minimising patch)
 - This returns false if the event is cancelled
 - Default is container.canInteractWith
3. The Event
 - Cancelling the event prohibits interacts
 - Setting interact to Allow forces interaction event as true
 - Defaults to canInteractWith