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.