[C] Send a PacketPlayOutSetSlot to client when a BlockPlaceEvent is cancelled. Fixes BUKKIT-5284

### The Issue:

Whenever a player, in non-creative mode, places a block in a protected area the equipped itemstack size on client is never updated properly since the client thinks the block was placed. 

### Justification for this PR:

Provide a patch to make sure client itemstack size is updated after a block place is cancelled.

### PR Breakdown:

This bug occurs because ItemStack.matches returns true since the server does not decrement stack
size if a BlockPlaceEvent is cancelled. This causes PlayerConnection.a(handlePlace) not to send the appropriate packet to client which causes the bug. To fix this, I simply force a PacketPlayOutSetSlot to be sent by forcing always flag to true whenever a block placement fails.

### Testing Results and Materials:

Using latest CraftBukkit dev build, grab a stack of 64 of any block then attempt to place in a protected area that you have no rights to. Result, the stack count goes down to 63 after the block place is cancelled when it should remain at 64.

### JIRA Ticket:

https://bukkit.atlassian.net/browse/BUKKIT-5284