Check that a vehicle is a Vehicle before casting. Fixes BUKKIT-4749

When an entity is being moved as the passenger of an entity from one
entity to another, a VehicleExitEvent is fired, but it is assumed that the
current entity is a Vehicle. However, entities can be passengers of more than
just Vehicles, which causes a ClassCastException to be thrown.

This commit fixes the issue by checking that the current entity's vehicle's
bukkitEntity is an instance of Vehicle before casting it to Vehicle.
Properly set persistence flag for bred animals. Fixes BUKKIT-4751
Correct location of fire from lightning strikes. Fixes BUKKIT-4707

Previously fires spawned by lightning strikes were in the wrong locations.
This introduced the possibility of having blocks replaced when they should
not be.

EntityLightning now uses the correct locations as defined to spawn the
fires when needed.
Update and add new sound mappings. Fixes BUKKIT-4756
Add support for custom Hopper inventories. Fixes BUKKIT-4722

Opening a hopper inventory created by Server.createInventory will
currently have no effect as proper handling code is missing in
CraftEntityHuman for hopper inventories that aren't associated with a tile
entity or minecart. Initialization logic for hoppers is also missing from
CraftContainer, which is necessary for the opening of custom hopper
inventories.

This commit fixes the two aforementioned by adding proper handling to
CraftHumanEntity for opening inventories not associated with a tile
entity, and by adding initialization logic for hoppers to CraftContainer.
Provide a tab completion handler for JLine. Adds BUKKIT-4168
Remove unnecessary error logging. Fixes BUKKIT-4406
Use correct spawn reason for Zombie reinforcements. Fixes BUKKIT-4744
Add missing villager sounds. Addresses BUKKIT-4756
Fix villager death sound
Update for 1.6.2_01 renames.
Updated version to 1.6.2-R1.0 in pom.xml for RB.
Updated version to 1.6.2-R1.1-SNAPSHOT for development towards next release.
Update CraftBukkit to 1.6.4
Spigot
EMC POM changes
Misc EMC Changes

Only spawn 1 ocelot ever from eggs.
Load custom permissions before plugins
Unload plugins after everything else
Color name tags to match list
Make Durability enchant scale 0-80% reduction on Armor damage (up to level 5)
Zombies break down doors on normal
Update inventory on block place/interact cancellation
Get rid of yellow disconnect log
Anti Dupe

Remove CraftBukkit "Feature" of ItemStack's having infinite use if less than 0 stack size.
Blocks most cases of < 0 itemstack dupe bugs
Mob Spawning Events

Add 2 events for better control of mob spawning (Natural and Spawners) This allows us a much more powerful control over spawning and improve performance
PlayerUseItem Event

This lets us control when an item is consumed and change the item.