Rename Fish to FishHook. Fixes BUKKIT-3856

"Fish" is a badly named class to represent a fishing hook due to the
possibility (or lack of) that Minecraft may be getting fish entities.

This commit provides potential future compatibility by deprecating the
existing Fish class and moving the methods to a new class: FishHook.
Add ability to keep items on death via plugins. Adds BUKKIT-5724

When a player dies their inventory is normally scattered over the the area
in which they died. Plugins should be able to modify this behaviour by
defining whether or not the player's inventory will be dropped on the ground or
waiting for the player when they eventually respawn.

This commit adds the methods required to the PlayerDeathEvent for plugins
to be able to incorporate the behaviour mentioned as a simple boolean
flag.
Update JavaDocs regarding teleportation of entities. Fixes BUKKIT-4210

Up until Minecraft version 1.5 it was not possible to teleport entities
within vehicles. With the 1.5 update came the change in the Minecraft
teleportation logic to dismount before teleporting the entity, if
applicable.

This commit simply ammends the JavaDocs for the associated CraftBukkit
half regarding the action the teleportation methods will take before
completing a teleport.
Updated pom.xml and Readme for Glowkit.
Don't display blank help topics. Fixes BUKKIT-5623

Help topics previously would display nothing if there was no text defined.
This can cause communication problems to end users if they simply see a
blank area instead of some text to indicate status.

This commit solves the communication problem
Fix chat paginator wrapping words incorrectly. Fixes BUKKIT-5408

There are issues with the word wrapping calculations currently available.
They can be activated as follows:

- If 'lineLength - line.length() - word.length() == 0' then the 'word'
  will be appened to 'line' without a proper space between them.
  This can be triggered with the following: wordWrap("preciselytwenty-five
  chars and more!", 25);

- Color codes do not correctly wrap. A specific example is
  wordWrap(ChatColor.GOLD + "foo", 3);

This commit solves the issues described above and adds added unit tests to
ensure regression does not occur.
Improve whitelist command messages. Fixes BUKKIT-5427

The whitelist command's output is not very helpful to the user if there
are no whitelisted players or if the user tried to add/remove someone who
is already (not) on the whitelist.

This commit resolves the behaviour and provides better output to the user
for the actions described. This is purely cosmetic and does not adjust the
functionality of the whitelist.
Updated Material with new entries for 1.8.
Added MaterialData for Prismarine, Sand, and Sponge.
Added repository information to pom.
Add Spectator to GameMode enum
Build the javadoc & sources so they get uploaded on the repo.
Added API for displaying particle effects.

Particle effects can be played to individual players and players near a
location. The Particle enum defines the available particle effects.
Particles can be displayed in groups with a spread, and some particles
make use of a MaterialData or an extra data float, which defines speed or
some other property of the generated particles.
Tell the player that their game mode was changed

Resolves https://github.com/GlowstoneMC/Glowstone/issues/397
Updated Enchanting inventory to include new slot.
Added cause-specific damage methods to Damageable.
Fixed facing methods for fence gates.
Updated magic values for Skull directions.

Minecraft 1.8 switches the representations of east and west.
Added API for manipulating banners and banner patterns.

Banner blocks have facing, base color, and pattern. Banner patterns are a
list of layers, which have a shape and color.