Handle the newly refactored minecarts.

Remapped by Srg2Source from Bukkit/CraftBukkit@2f32ee45118550a6fe358a7dd6db64560af90763
Remove duplicate place logic for snow. Fixes BUKKIT-3756

Remapped by Srg2Source from Bukkit/CraftBukkit@5bb49e4a6352211797c2efc74821dc274e12bdad
Always consume bonemeal when used on a sapling. Fixes BUKKIT-3755

In Minecraft 1.5 saplings do not grow with a single use of bonemeal anymore.
Our code assumes they will and only takes away bonemeal from the player
when the tree grows successfully (not cancelled by a plugin). Instead we
now always remove a bonemeal even if a plugin is the reason a tree didn't
grow as this matches the vanilla logic more closely.

Remapped by Srg2Source from Bukkit/CraftBukkit@536aa3843c49e5eb3fd3509b579a2c4e24b206dd
Limit mob names to 64 chars to avoid client crash. Fixes BUKKIT-3753

Remapped by Srg2Source from Bukkit/CraftBukkit@b5d0b756651261606e4e7036b524c0920b1fc40c
Don't set health directly, will interfere with scoreboard system.

Remapped by Srg2Source from Bukkit/CraftBukkit@cac2f271d399ad10d74183932f7f8b41adb0f70f
Use Chest block state for trapped chests. Fixes BUKKIT-3762

Remapped by Srg2Source from Bukkit/CraftBukkit@85ce07a1a1cafa93434dfbc0c7d8f194e1f35fe8
Ignore invalid inventory slots. Fixes BUKKIT-3737

Remapped by Srg2Source from Bukkit/CraftBukkit@91d3c5ea5a5324aa971179df315dc859aaa513fc
Filter data for items that shouldn't have it and filter wool.

We used to fall Item.filterData() for this but that method is meant for
converting item data to block data during placement and does the wrong
thing for this case. Instead we just see if the item should have data and
if not set it to zero. We also have to filter wool data explicitly because
clients crash when given invalid wool data.

Remapped by Srg2Source from Bukkit/CraftBukkit@80d8c9a20ece0e4fb5948f850ff2067dc3f78258
Filter negative values for all items.

Remapped by Srg2Source from Bukkit/CraftBukkit@39576c55c58c8146f1611942b01979a7e231b5e6
Comment out vanilla debug message.

Remapped by Srg2Source from Bukkit/CraftBukkit@7b6d10e8b722c29edfc938591a9a4f9ee7c9e446
Allow data on tool items. Fixes BUKKIT-3773

Remapped by Srg2Source from Bukkit/CraftBukkit@c70dc7f2f6f44af0b663be3c52e9f7e5c3f82ee4
Add new DispenseBehavior files from mc-dev for diff visibility.

Remapped by Srg2Source from Bukkit/CraftBukkit@25817f3ddd566527414923fb05d0fa5db43605b0
Fire BlockDispenseEvent for new dispenser behaviors. Fixes BUKKIT-3774

Remapped by Srg2Source from Bukkit/CraftBukkit@35194cbc01a9a0cb8689239ae335e85ce7a71a0d
Handle double trapped chest inventory. Fixes BUKKIT-3772

Remapped by Srg2Source from Bukkit/CraftBukkit@e46c0071be284040326f6473c5e59b425e811e77
Allow special crafting data value on items. Fixes BUKKIT-3780

Remapped by Srg2Source from Bukkit/CraftBukkit@55b5fb7194326f87e33aa4f2a3fc8e181041bd87
Add missing getOwner method for container minecarts.

Remapped by Srg2Source from Bukkit/CraftBukkit@4ff57b231875b5b4311c393936a5e6371b415f20
Implement Hopper block state and inventory methods. Adds BUKKIT-3749

Remapped by Srg2Source from Bukkit/CraftBukkit@d7c4f896e8450da2baa0b1c4fdb4279fe3b9b998
Use name given to command block instead of "@". Fixes BUKKIT-3803

Remapped by Srg2Source from Bukkit/CraftBukkit@246aa197cf237223fe2186257668004769cd4755
Implement Entity.isOnGround(). Adds BUKKIT-3787

Remapped by Srg2Source from Bukkit/CraftBukkit@484df2d1fa08ba50f0bbe47f3e4871d8fefaafaf