Call unleash event for non-sitting animals. Fixes BUKKIT-4658

The unleash event is only called for animals that are sitting - ones that
receive no movement vector. This adds the missing event call for
non-sitting animals.
Add PathfinderGoalMakeLove for diff visibility
Use correct spawn reason for Villagers Breeding.  Fixes BUKKIT-4113
Validate title for custom inventories. Fixes BUKKIT-4616, BUKKIT-4663

Custom inventories currently do not validate the titles provided. Null values
cause NPEs when writing packets. Values longer than 32 characters
disconnect clients.

This change throws and IllegalArgumentException for null titles or titles
longer than 32 characters.
Add BukkitObjectIOStream tests on top of ItemMeta tests
Fix javac workaround in ItemStackTest
Wrap plugin.getDefaultWorldGenerator in try-catch. Fixes BUKKIT-4116

If a plugin generates an exception when returning a world generator, the
server will crash. This change adds a try-catch block to keep the server
from crashing on plugin defined world generators.
Fix missed diff for chat packets. Fixes BUKKIT-4666

This commit removes chat wrapping. It is no longer needed, as clients
properly render lines with line breaks.

This commit also changes an outgoing chat message to use the vanilla
behavior for indicating a client cannot chat with commands-only setting.
Return instance of CraftInventoryBeacon for Beacons.  Fixes BUKKIT-4521
Merge remote-tracking branch 'upstream/master' into sakura162

Conflicts:
	src/main/java/org/bukkit/craftbukkit/CraftServer.java