Added huge mushroom and more tree generation.

Includes a better generic tree system based on oak, small jungle, and
cocoa trees, as well as birch, tall birch, and spruce tree generation.
Now fires StructureGrowEvent during tree generation.
Added script that fetches Glowkit PRs for Travis.

For PRs, the PR body will be looked up and scanned for links to Glowkit
PRS, which will then be included in the build. Also reorganizes the Travis
script slightly.
Fixed PlayerMoveEvent handling and teleportation offset.

When PlayerMoveEvent's destination is changed, it should be considered a
teleport and fire the appropriate event and handle world changes.

PositionRotationMessage now refers to the client's feet instead of eyes.
Added placement and interact handling for fence gates and trapdoors.
Fixed ShapedRecipe matching (fixes #465).
Fixed hoe interaction with coarse dirt and podzol.
Fire PlayerItemHeldEvent when players switch their held item.
Move code for block rotation out of BlockSign (also used for Skulls and Banners)
Initial work on Banners
Use enum instead of hardcoded magic values
(cherry picked from commit b83837e)
UpdateBlockEntityMessage protocol courtesy of @Aaron1101
(cherry picked from commit ea3532b)
Basically everything for Banners. As of yet, untested.
Formatting fixes
Rotate properly, update on placing, and actually save layers to NBT
Base and Patterns now should never be null, and should hopefully save properly
Make UpdateBlockEntityMessage use Lombok
Styles Checked
Fix broken check for NBT data on banner item
Checking with style
Fix saving/sending byte and not integer (causes issues when client sends int)