[B+C] Add BlockMultiPlaceEvent to handle 2 or more blocks.

### The Issue:

Currently, BlockPlaceEvent only supports a single block but there are
situations where 2 or more blocks need to be sent to plugins such as with
an ItemBed.

### Justification for this PR:

Provide a single block event that supports 2 or more blocks. This allows items such as ItemBed to be handled properly by plugins.
Note: The first block added to this event will be passed to BlockPlaceEvent.

### PR Breakdown:

After an item is processed in Item.onPlace, if 2 or more blocks were captured, a single BlockMultiPlaceEvent will be called for plugins. If this event is cancelled, all blockstates will be reverted.

### Testing Results and Materials:

N/A

### Relevant PR(s):

https://github.com/Bukkit/CraftBukkit/pull/1313