Initialize hostname on handshake. Fixes BUKKIT-4793

This restores a lost CraftBukkit diff that initializes the hostname
field used during login events.

Remapped by Srg2Source from Bukkit/CraftBukkit@9532cb6ba0d6be1d50839910cabd38fc7d2a8eb1
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.

Remapped by Srg2Source from Bukkit/CraftBukkit@bc6a5548934e5b597b524fd8dcf8b5cfacf8af59
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.

Remapped by Srg2Source from Bukkit/CraftBukkit@e56f2110e0ed955a5732097f72285ac16c3c73bf
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.

Remapped by Srg2Source from Bukkit/CraftBukkit@7d680d398c866478fb43937874ec91cfd74fc9e5
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.

Remapped by Srg2Source from Bukkit/CraftBukkit@e6087ea3fb84381e44efa981283cd33a77b981ec