Call placeBlockAt before BlockPlaceEvent. Fixes #344, #362, #363

* Forge blocks will now have their block placement code called in
world.canPlaceEntityOnSide to counter issues with microblocks, tubes,
wires, and pipes.
* ItemBlock.placeBlockAt will now be called properly
before a BlockPlaceEvent to prevent bugs such as ICBM's launcher client TE bug.
* BlockPlaceEvent listeners should now receive the correct information for
all forge blocks. This should fix issues with block protection plugins
such as LWC.
For example, to deny an IC2 wrench usage/interaction on a Solar
Generator a plugin or mod would have to listen for a PlayerInteractEvent
and check permissions on the block being used then cancel based on that
result.
Using a plugin such as LWC, you would add the IC2_BLOCKGENERATOR material to
LWC's core.yml and set the protection to true. This will allow LWC to
check permissions on the Solar Generator and cancel the event.
If you are unsure what material to use, set 'dump-materials' to true in
bukkit.yml for a complete listing of all material names with their
respective id's. They will be dumped into the FML server log.
Fix NPE kick when spamming IC2 mining laser (etc). Fixes #380.

Plugins should use event.setUseInteractedBlock DENY to cancel the
interaction.

This reverts commit b797c5848ae1b39921b9a04738204c6f66d29404.
Added event.useItemInHand check before calling onItemUseFirst. Fixes #350

- added back forge check to see if event has been cancelled.
Note: this was not added on bukkit side simply because if you cancel the
event completely, this will prevent players from interacting with blocks
while holding the item.
- disabled bukkit's call to tryUseItem.
Merge branch 'master' of https://github.com/MinecraftPortCentral/MCPC-Plus