Implemented remote console (rcon) support (closes #451).
Added support for player and mob heads.

Includes dandling for the skull item, block, and tile entity, as well as
lookup of profiles based on username for Bukkit support.
Implemented wall and standing banners.

Covers placement, tile entities, serialization, and sending the banners to
the client. Does not include crafting.
Removed UuidUtils.fetchUuid in favor of ProfileCache.
Improved weather with thunder sounds and rain/cloud density.
Added armor coloring with LeatherArmorMeta.
Added firework and firework charge item metas.
Added more tree generators.

Adds generators for Acacia, Dark Oak, Swamp, Jungle Bush, Big Jungle, Tall
Redwood, and Mega Redwood trees.
Added decorators for biome-specific features.

Includes tall grass, flowers, tall flowers, sugar cane, dead bushes,
pumpkins, melons, water lilies, and cactus.
Fixed the whitelist state not being persisted.

As described in GlowstoneMC/Glowstone#491, reloading or restarting the
server can cause the whitelist state to be restored against the command
control. This commit combats that by ensuring that the state set by the
whitelist command is saved for the next potential read of the state.

A side effect of this change is that there is now a setter in the server
configuration to change values. This may be useful in the future for
similar issues.
Implemented resource pack event and methods for 1.8.

This commit implements the event for the client reporting the status of
the application of a resource pack after it has been sent. This event may
be fired with illogical statuses due to bugs in the client's operations.

This also adds the applicable methods for plugins to set a specific
player's resource pack, or at least prompt them to, using the newly
implemented identifier system.
Implemented missing effects from Minecraft 1.7.

This uses the new field in Effect instead of a hardcoded constant to
determine which effects ignore distance.
Added blockDestroy method to BlockType.

This simple change is required to make the code easier for a lot of
similar actions regarding 2-block blocks, such as beds, doors, and some
flowers.
Implemented tool-sensitive block drop handling.

Previously it was possible to get some drops by simply breaking the block.
This commit changes some of that behaviour to ensure that a majority of
blocks that require a tool to break (such as ores) will only drop their
items if the correct minimum tool is used.

This does not resolve all cases of bad drop mappings and may have some
edge cases regarding what requires a tool, however this is a starting
point for many of the future cases.

This also includes some minor formatting fixes.
Special crafting recipes, and a banner recipe.

NOTE: Will build but not work correctly without #360, which provides banner implementation.
Start work on banner copy recipe
Move crafting related stuff to new package
Update to new DynamicRecipe format
Fully implement banner copying (as of yet untested)
Adds damageable items to ItemTable.

Implementation of durability damage when using tools/armor is out-of-scope.