BlockChange event

The hook from pr #59 changed to use events.
Called whenever a block change is triggered (changeBlock/changeBlockAndMetadata/changeMetadata) providing information about the new block that is being placed, with the ability to cancel it.