Add EntityInteractionType enum
Merge pull request #206 from Phroa/master

Add EntityInteractionType enum, allowing for specifying how an entity is being interacted with.
Further improved scheduler API
swap logging to use slf4j to allow implementations to pick the underlying implementation
Separate BlockState from Block more clearly

Remove 'extends BlockState' from Block and BlockSnapshot
Add getter for BlockState
Move getSnapshot to Block
Added getDigTime to Block
Add getType() back to Block for ease of use
Readded getDigTime to Block
Added Vehicles API
Added Player Events PR by @AIOOB
Fixed JavaDoc issue with last merged PR.
merge #213 credit to @lexware
Change AsyncPlayerChatEvent to PlayerChatEvent.

This change requires that the underlying event system can also have handlers registered for parent event classes of an event class.
Add Game.getServiceManager().
Fix build-breaking Javadoc errors.
Add ServiceManager.provideUnchecked() and ProvisioningException.
Add Game.getCommandDispatcher().
Move registerCommand() from Dispatcher to CommandDispatcher.
Add helper DescriptionBuilder class.
Remove Future, it doesn't make sense for repeating tasks.