Add basic block events

As the block API got merged recently, I made some basic block events. Even if this PR won't get merged, it would not hurt to discuss about block events.

Edit: There is also issue http://issues.spongepowered.org/youtrack/issue/SPONGE-62
A fluid spread can be represented by a block place event without the need for a fluid spread event.

However, a fluid spread event should exist for *convenience* reasons, and if it's existing for convenience reasons, it should have a `getSource()` method because extracting the source from the cause requires extra boilerplate code.

That begs the question of whether block a block place event should also be fired in existing to a fluid spread event. Notably, that would mean double the number of events for fluid spread.