Adding BlockEvent abstract class

Adding a base `BlockEvent` interface.
`getChunk` clarifications, `loadChunk` method

Based on @mikeprimm feedback on c34d11d0, renaming chunk coordinates in method sig to `cx`, etc.

Clarifying that `getChunk` returns null if it's not loaded.

Adding a `loadChunk` method, with optional bool to disable generating.
`HumanEntity` properly extendeds `LivingEntity`

We somehow missed this in the last PR.
Add Contribution Guidlines link to README
Merge pull request #34 from prism/events-block

Adding BlockEvent abstract class
Merge pull request #39 from simon816/readme-guideline-link

Add Contribution Guidlines link to README
Merge pull request #37 from prism/human-entity-extends

`HumanEntity` properly extendeds `LivingEntity`
Merge pull request #35 from prism/chunk-load

`getChunk` clarifications, `loadChunk` method