Fixing the spamming of InventoryMoveItemEvents for the hoppers. In a worst case scenario a SINGLE hopper could call up to 59 events PER TICK (54 for a filled input double chest and 5 for a filled hopper inventory). Even worse is the fact that these events are still called when the inventories dont change and nothing is moved.  -  Before any events are called or item moves are attempted, the target inventory is checked, whether it can pick up the specified item stack. If not, dont try to move the item and skip to the next one. The consequence is that an InventoryMoveItemEvent event is only called now, when the hopper actually moves an item. This change addresses BUKKIT-5429. Same for the InventoryPickupItemEvent. Its not called as often, but if the hopper is full it is still one unnecessary event less per tick for that hopper.