Prevent clients logging in multiple times (fixes #150).

Also adds (Async)PlayerPreLoginEvent support.
Provide hostname in PlayerLoginEvent.
Implemented AsyncPlayerChatEvent (fixes #103).
Tidied up EventFactory and its uses.
Made some utility classes final.
Revamped place and dig event handling.

Throw BlockBreakEvents in creative (fixes #273).
Fix BlockPlaceEvents returning AIR (fixes #271).
Prevent block break with swords in creative (fixes #214).
Simplified dig and place logic slightly.
Added basic potion effect definitions (fixes #295).
Added checkstyle and fixed code to obey it (thanks @meggawatts).
Added item FlintAndSteel
added TNT/explosions
Explosion: drop blocks, set them on fire, fire events
use BlockVector
some kind of entity damage (to be finished)
added damage based on rayTracing for entitys in explosions
added TNT block (explosion)
formatting, correct use of EventFactory, constants for explosion power