Moved all specific minecart entities to sub-package.

This change is breaking for the new API for 1.5, including the interfaces for
the three new Minecart types and the name of the previously TNT_MINECART
material.

This change also deprecates the two previous specific minecart types located
in the org.bukkit.entity package. This deprecation is not a breaking change
and will still be internally supported.

Each minecart type has new javadoc to be slightly more descriptive. Included
with this are specific references to the interface for each respective
EntityType entry. Another package-info.java file has been included as well.

All specific minecart types extend minecart, each with a more descriptive
name. The naming will also follow the old convention. In addition, the
minecart with no specific designation is now more closely referred to as a
rideable minecart.
Validate method parameters when registering events. Fixes BUKKIT-3779
Add Hopper block state and inventory type. Adds BUKKIT-3749
Don't use deprecated interface.
Add Entity.isOnGround(). Adds BUKKIT-3787
No @Override here in Java 1.5.
Make HopperMinecart implement InventoryHolder. Adds BUKKIT-3796
Add InventoryPickupItemEvent. Adds BUKKIT-3798
Add block or entity causes to BlockIgniteEvent. Addresses BUKKIT-3609, BUKKIT-3656, BUKKIT-3657
Add per-player Weather API. Adds BUKKIT-812
Add dummy /testfor command in Bukkit. Addresses BUKKIT-3813

This command only functions in command blocks so the bukkit command for it
simply spits out an error message.
Pull Contributing Guidelines and Requirements into CONTRIBUTING.md
Add link to CONTRIBUTING.md in README
Add missing new line to README.md
Remove point about squashing commits.
Add an enum for Nether Wart growth stages. Adds BUKKIT-1599
BlockState for Command Blocks. Adds BUKKIT-3805.
Pulling all pending Bukkit-JavaDoc changes
Update Bukkit for Minecraft 1.5.1
Added the hasGravity method to Blocks. Adds BUKKIT-3832