Update plugin porting documentation for new 1.4.7 mapping
New plugin loader with class remapping

Remaps guava10/12 for plugin compatibility - no longer need to remap
non-NMS plugins using Guava from Bukkit; Essentials now works unmodified.

A start towards implementing issue #12.

Thanks to:

bergerkiller (Libigot) - https://github.com/AlmuraDev/Libigot/blob/master/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java#L58
md_5 (Interglot) - https://github.com/EcoCityCraft/Interglot/blob/master/src/main/java/org/spigotmc/interglot/App.java
Fixed slow world generation bug when mods used forge's generateWorld method.
Added missing classes needed for project.
Add OBC version relocation

Relocation was temporarily removed for testing, but plugins expect versioned OBC.
Although OBC access could be remapped at plugin load, relocating in MCPC+ has the
advantage that dynamic access to OBC will work as expected (used, for example, in
mbax's AbstractionExamplePlugin and VanishNoPacket).
Add PathfinderGoalSit for diff visibility
Fix "setSitting" on tameable animals. Fixes BUKKIT-1534

This makes it so animals (tame or not) will sit properly and not move
around.

Wild animals that are sitting may override the sitting position if
they are attacking.
Move the tile entity with the falling block. Adds BUKKIT-3349

Allows for interesting things to be done with world.spawn()
Implement fishing experience. Adds BUKKIT-3348
Update calls to DyeColor getData and getByData. Addresses BUKKIT-2786

These two methods are now deprecated and replaced by the strictly
equivalent calls using wool data.
Various ItemMeta fixes.

Fixes BUKKIT-3408, BUKKIT-3190, BUKKIT-3191, BUKKIT-3407

These changes relate mostly to semantical changes for serialization
contract, exception of changing the map scaling value from byte to boolean,
what it should have been in the first place. Appropriate unit tests were
added for CraftMapMeta, as they were missing.
Spawn monsters without prematurely exiting. Fixes BUKKIT-3425

By using return 0, we exit the loop prematurely preventing other
creature types from being spawned if one type is set to 0. By using
continue we move on to the other types and allow them to spawn
properly.
Throw BlockPlaceEvent when placing double slabs. Fixes BUKKIT-2469
Merge second half of Throw BlockPlaceEvent when placing double slabs. Fixes BUKKIT-2469
Clean up diff

Local variable names shifted from previous changes
Send Bukkit events from Forge placeBlockAt()

Unclear where this method is called, but it should now send BlockPlaceEvent.
Handle beds and doors the same way as other blocks. Fixes BUKKIT-3437 Relates to: BUKKIT-3438
Get the BlockState before changing the block. Fixes BUKKIT-3441
Initialize entity data before spawning them. Fixes BUKKIT-3209

Vanilla does the initialize before spawning everywhere except in the
SpawnerCreature, our spawn event depends on this behavior to be
consistent.
Added runtime NMS class transformation