Pull Contributing Guidelines and Requirements into CONTRIBUTING.md
Add link to CONTRIBUTING.md in README
Remove point about squashing commits.
Validate Server method input. Addresses BUKKIT-3687

CraftServer methods that implement the Server interface will throw an
IllegalArgumentException if a method cannot operate on a null input
and given a null pointer.

This causes methods to fail early and identify that a plugin is
responsible for passing in an invalid argument. This will only
change the exception thrown, if there originally was a thrown
exception. This helps with hunting down legitimate problems
with CraftBukkit.
BlockState for Command Blocks.  Adds BUKKIT-3805.
Readd missed diff for minecart container size. Fixes BUKKIT-3826
Don't filter out -1 data in ItemStack. Fixes BUKKIT-3824
Handle filled buckets dispensing up and down. Fixes BUKKIT-3814
Really don't filter out -1 data in ItemStack.
Update CraftBukkit to Minecraft 1.5.1
Implement unit test for hasGravity(). Adds BUKKIT-3832
Add Fish (Hook) entity to PlayerFishEvent. Adds BUKKIT-1025
Ignore all .DS_Store files, not just the one in the project root.
Add method to get the source of a TNTPrimed. Adds BUKKIT-3815
Add ability to modify ThrownPotion properties. Adds BUKKIT-3197
Stationary lava is also a LAVA ignition cause.
Add BlockDropper for diff visibility
Implement Dropper interface. Adds BUKKIT-3750
Cleanup and rework physical interaction events. Fixes BUKKIT-3686

Currently when dealing with physical interactions with pressure plates
and tripwires we immediately block their activation as soon as a single
entity involved has their event cancelled. We also fire events whenever
an entity intersects the block a wooden button is in even if they aren't
actually pressing it. To correct this we move the button interaction to
the correct place and modify all three to only block the activation if
every entity is blocked from using them instead of just one of them.
ANSI color codes now reset text attributes. Fixes BUKKIT-3508

The client resets all formatting after a color code is received, but currently the ANSI codes do not, and so the console does not accurately reflect the appearance of the formatted text. Instead, the ANSI color codes are now set to reset all text attributes.