BUKKIT-3668 Fix wrong block in BlockDispenseEvent when filling empty bucket

When you fill an empty bucket inside a dispenser, the BlockDispenseEvent is called with the water\lava block instead of the dispenser block.

This event should consistently return the dispenser involved in the action.
Besides, you can always get to the water block from the dispenser, but you can't always do that the other way around (for example if you have 2 dispensers for the same water\lava block).

__Leaky__: https://bukkit.atlassian.net/browse/BUKKIT-3668