Throw exception for disabled plugin tasks. Fixes BUKKIT-3951

Without this check, any non-null reference to a plugin is considered
'valid' for registering a task in the scheduler. This is obviously
unintentional behavior and has been changed to throw an
IllegalPluginAccessException. It is now consistent with the
SimplePluginManager event registration contract.

This in affect also addresses BUKKIT-3950 for uninitialized plugin
references (ones without a description).

Remapped by Srg2Source from Bukkit/CraftBukkit@052e955ed71a30516a5e9cfd76649daaba4ae7d8
Correct slot types for brewing stand. Fixes BUKKIT-3937

Remapped by Srg2Source from Bukkit/CraftBukkit@19bafa53e36a4ede993e2ae5c1f4cdd75fabbc63
Don't update physics when block place is cancelled. Fixes BUKKIT-3939

When a block placement happens we currently update physics on the
attempted placement and update again if the placement is cancelled.
To correct the first one we simply set the block without applying
physics. To correct the second we have to add a new method to
BlockState that lets us update without applying physics and use
this method method when putting the block back.

Remapped by Srg2Source from Bukkit/CraftBukkit@b39ef5e26f57029eebe2778c09c1757e6276b96b
Fix mismatched tile entities for new blocks. Fixes BUKKIT-3949

Remapped by Srg2Source from Bukkit/CraftBukkit@259b8400cd73c2a5c4946bb0f511fba7646ee75d