Add Location.setDirection(Vector). Adds BUKKIT-4862

This commit adds an additional method to Location to set the direction of
facing. Included are a set of unit tests that ensure the consistency of
getDirection and setDirection using a set of cardinal directions and
arbituary data points.

Javadocs were also added to pitch and yaw methods that explain the unit
and points of origin.
Pulling all pending Bukkit-JavaDoc changes

A special thanks goes to @aerouk for almost all of the changes found here.
[Bleeding] Correct naming of sounds for Minecraft 1.7. Fixes BUKKIT-5065

Several sounds were renamed in Minecraft 1.7 and have been updated
accordingly. Additionally, two sounds, HURT and BREATH, were removed from
Minecraft.
Add missed tree types for Minecraft 1.7. Adds BUKKIT-5042

The Minecraft 1.7 update added two new types of trees that weren't added
in the initial update to 1.7: MEGA_REDWOOD and TALL_BIRCH.

Pulled from PR #979
Specify MaterialData for Acacia and Dark Oak stairs. Fixes BUKKIT-5037

When Minecraft 1.7 was released, Acacia and Dark Oak Stairs were added.
While Bukkit added them to Material.java, it did not add the MaterialData
mapping of them to Stairs.class.

Currently getAscendingDirection() and other stair-specific functions can
not be used on these new stairs. This commit fixes that by adding the
mapping needed.

Pulled from PR #977
Add new setResourcePack method. Fixes BUKKIT-5015

Minecraft now uses resource packs instead of texture packs.

This commit adds a new method specific for resource packs, and deprecates
setTexturePack.
Updated version to 1.7.2-R0.1 in pom.xml for Beta.
Updated version to 1.7.2-R0.2-SNAPSHOT for development towards next release.
Handle commandBlockOutput GameRule for Command Minecarts.

Fixes BUKKIT-5207
Updated version to 1.7.2-R0.2 in pom.xml for Beta.
Updated version to 1.7.2-R0.3-SNAPSHOT for development towards next release.
[BREAKING] Shift plugin initialization; Addresses BUKKIT-1788

This reverts commit ae4f1c05d825e232d7fc0483639ba65ad54d2db4, restoring
commit 27cb5e7c9c6b2cfc5419262df75d89bc6bfe7879 (mostly).

Shared class loading was removed as an explicit feature in the plugin.yml,
as all plugins implicitly share class loaders already.

Some deprecated, internal functionality is now (package) private, namely
some sections pointed out in 203de4180b40f069d2c175d763476bd4ce338c76.
Add method to get plugin by its class. Adds BUKKIT-5240

Currently, the only way to get a plugin is by name or using a static
variable. This adds two methods to get a plugin based on its classes,
utilizing the plugin classloader.
Add unit tests for org.bukkit.util.StringUtil
Use region matching instead of sub-strings. Addresses BUKKIT-5275
Fix some messages

Addresses BUKKIT-5272, BUKKIT-5282, and BUKKIT-5283
[Bleeding] Add 1.7 setworldspawn and setidletimeout commands. Addresses BUKKIT-4932
Modify give command to support 1.7 features. Fixes BUKKIT-5286

Necessary additions include an interface to add internal value conversions
that are inappropriate for proper API design. This acts as a substitute
for properly formed, user-friendly commands in an effort to maintain
relatively vanilla behavior.
[Bleeding] Fix Achievement and Statistic API. Fixes BUKKIT-5305
[Bleeding] Add /achievement command. Addresses BUKKIT-4932