Call EntityInteractEvent for Wood Buttons. Fixes BUKKIT-3022

Prior to this, there was no way to tell when arrows trigger buttons
Fix multi-world sounds not being sent correctly. Fixes BUKKIT-3051
Take into account if the shooter is a player before considering pvp mode for projectiles. Fixes BUKKIT-3058
Use carried item for endermen's changed-block's id. Fixes BUKKIT-3075
Add data values to EntityChangeBlockEvent. Adds BUKKIT-3077, BUKKIT-3076

This change affects Endermen and Silverfish, adding a data value for the block change event.
Fix missed refactoring in EntityWither
[BREAKING] Update BlockFace directions. Fixes BUKKIT-1567, BUKKIT-3069

The answer is 42
Fix leaky pipes (water flow). Fixes BUKKIT-3085

(Also, fix mistranslation for VehicleBlockCollisionEvent)
Implement API for mob despawn when away from players. Adds BUKKIT-2986

As of 1.4 mobs have a flag to determine if they despawn when away from a
player or not. Unfortunately animals still use their own system to prevent
despawning instead of making use of this flag. This change modifies them
to use the new system (defaults to true) and to add API for plugins to adjust
this.
Fire EntityFormBlockEvent for FallingBlocks. Adds BUKKIT-3078
Ensure animals don't despawn due to old default setting.

The old default for the persistent flag on mobs was false which was then
written out to their NBT data when they were saved. We now use this data
for all mobs, not just non-animal mobs. However, this means animals that
spawned before that change will now start despawning like monsters do.

To avoid this we add a new flag to the mob's saved data to mark if the
data was saved before or after we started using it and ignore it if it
was before.
Allow placing blocks in spawn if ops.txt is empty. Fixes BUKKIT-3004
Add a custom shutdown message set in bukkit.yml. Addresses BUKKIT-3031
Persistence isn't just animals. Fix BUKKIT-3105

Also set to this value if the persistence hasn't been updated
Don't run command blocks in empty worlds. Fixes BUKKIT-3094
Refactor all OBC, libs, and NMS into versioned packages.

org.bukkit.craftbukkit and net.minecraft.server will now include the
minecraft version in the package name. As the internal implementations
are known to change dramatically, this refactor reduces the strain on
support requests due to version mismatching.

org.bukkit.craftbukkit.libs will also have version numbers for each
imported set of packages. These are not dictated by the minecraft
version number. This is done to prevent future incompatibilities.
Not enough testing went into this, you can't have packages start with numbers.
Implement API for wolves collar color. Adds BUKKIT-3109
Fix "Commands Only" chat flag. Fixes BUKKIT-2238

Thanks for the commit @mrapple
Add the ability to launch WitherSkulls. Fixes BUKKIT-3106