Remove Runnable from Task

Running a Task is something that should be left to the scheduler, not plugin code.
Added a class containing an instance of all block types.
Added the blocks also to ItemTypes, Items coming soon once wrist recovers
Added all items thanks to phroa
Removed block versions of items that have alternate held items
Sync ItemTypes list with what is actually registered as an item
Ensure the BlockTypes list is syncronized too
Add vector projection
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