Add PlayerAbilities for diff visibility
Implement player speed API. Addresses BUKKIT-2205
Fix "block update packet" not being sent to the correct world. Fixes BUKKIT-2023
Update CreatureSpawner.setSpawnedType(EntityType) to 1.3

They can spawn any valid entities now. What is a "valid" entity? A "valid" entity is an EntityType with a non-null getName(). (for example: PRIMED_TNT, FALLING_BLOCK)
Enable hardcore support. Fixes BUKKIT-2259

- Hardcore requires a newly generated world
- You will be banned if you die in a hardcore world
- You will NOT be banned if you die in a non-vanilla world
- Your "heart container" will not change without logging back in. (Vanilla bug)
Implement methods for spawning FallingBlocks and add various FallingBlock methods. Adds BUKKIT-2282
Use correct SlotType's for merchants. Fixes BUKKIT-2257
Call PlayerQuitEvent in correct location. Fixes BUKKIT-2193
Removed unneeded mc-dev imports. Fixes BUKKIT-682
Don't extend pistons until data is set. Fixes BUKKIT-2153
Add CrashReport for diff visiblity
Add more detailed CrashReport for CraftBukkit. Addresses BUKKIT-2319
Fix issues with chunk saving. Fixes BUKKIT-2158, BUKKIT-2018 and BUKKIT-2229
Updated version to 1.3.1-R2.0 in pom.xml for RB.
Updated version to 1.3.1-R2.1-SNAPSHOT for development towards next release.
Add files from mc-dev for diff visibility
[Bleeding] Optimize chunk loading

ChunkSection.e() is called once per chunk section loaded and is quite
expensive (about 20% of CPU time for loading the chunk). This changes the
logic to add a fast path when extended block data is not being used and
reorganizes the loops for more optimal array traversal. Overall this saves
about 20-30% CPU time in this method.
Add iterator cache to UnsafeList and use it in hotspots

Adds a specialized iterator for the list and a pool of iterators to avoid
object churn. Also optimizes the clear() method to reduce object creation.
Optimize entity AI goal selector

Remove redundant ArrayList to avoid excessive object creation and CPU
overhead, the entries are added to the list then immediately iterated through
to run so just run them directly.

Swap order of some conditionals to perform the more efficient check first
as if it fails the list lookup will not be executed.

Remove profiling hooks including some rather expensive calls to getSimpleName.
[Bleeding] Change Vec3DPool to a stack based pool

Avoid overhead of using an ArrayList and resizing it. Also allows for reuse
of objects in the pool during the same tick by explicitly releasing them
back to the pool. This allows for much better cache performance as well
as reduced cache footprint.