Clarify exception message for bad hanging location. Fixes BUKKIT-4824

This change adds the location and a more specific message to the
IllegalArgumentException that gets thrown when a hanging entity is being
spawned in a location that it cannot survive.
Add exception-resilience to reading UUID. Fixes BUKKIT-4833

When a "uid.dat" file is corrupt (empty or <16 bytes), WorldNBTStorage
will silently fail to read and return null. Non-null behavior is
expected everywhere that this value is used.

This change will force a random UUID when the previous UUID cannot be
read, and getUUID to no longer silently ignore read/write exceptions.
Call BlockFadeEvent for fire on inflammable block. Fixes BUKKIT-4835

This adds a call to fireExtinguished for fire burning out on inflamable
blocks, similar to other causes of fire fading.
Force item data to use a tag name. Fixes BUKKIT-4809

The recent Minecraft update rendered the
e20e50f85083dc53cb5456254bcf5781ef750daa fix incorrect by adding a
compound name to the base tag in some code. This fix changes all uses
of tag changes to explicitly use a name.
Update maven compiler to 2.3.2

This change removes a redundant addition of source encoding and makes our
compiler match the current maven default. This amends the commit
4775b25a5932a2a24da2c55356936e2f98bff98c

Upstream issue http://jira.codehaus.org/browse/MCOMPILER-70
Remove redundant call to worldMaps.a(). Addresses BUKKIT-4828

The WorldMapCollection object for SecondaryWorldServers(Nether, End) is
shared with the main world, so saving it again for each SecondaryWorldServer
is redundant.

This commit removes the redundant call by checking if the WorldServer is an
instanceof SecondaryWorldServer before invoking worldMaps.a().
Re-enable built in auto-save. Fixes BUKKIT-4800

When Minecraft first introduced an auto-save feature, we
were taken by surprise by how much of an impact it actually had on the performance
of the server. After investigating the potential causes of the significant
slow-downs we saw at the time, we came to the conclusion that it was a
combination of the auto-save interval being incredibly frequent and
servers already having an auto-save solution that was conflicting with the
newly added built-in one.

Since we noticed that most servers already had their own auto-save
solution, we decided to completely disable the built in auto-save by
default. In hindsight, however, we were so happy that we discovered and
squashed the cause of the performance issues that we forgot to consider
the future and, as a result, some servers have unfortunately been caught
by surprise when they ran their servers without any auto-save plugins.

Without the auto-save plugin conflict, however, Minecraft's default save
interval of 45 seconds is not suitable for the types of servers that run
Bukkit, to the point where it was negatively impacting performance. As
such, we've decided to re-enable the built in auto-save at an interval of
5 minutes for newly created servers.
Add auto-save plugin redundancy detection.

This change will print a warning when a plugin induces a forced save. A
player or console forcing a save (via a command) is ignored for purposes
of printing a warning.
Updated version to 1.6.4-R1.0 in pom.xml for RB.
Updated version to 1.6.4-R1.1-SNAPSHOT for development towards next release.
Fix our versioning system.
POM Changes
mc-dev imports
Skeleton API Implementations
Spigot Configuration
Better Chunk Tick Selection
Crop Growth Rates
More Efficient Chunk Save Queue
More Efficient GetCubes
Proxy IP Filter