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.

Remapped by Srg2Source from Bukkit/CraftBukkit@5a295e14a67cf1234995732e80bbb5add928c45a
Add PathfinderGoalMakeLove for diff visibility

Remapped by Srg2Source from Bukkit/CraftBukkit@529c05271037a0e3ee74e89bcfdad770fbc65a7a
Use correct spawn reason for Villagers Breeding.  Fixes BUKKIT-4113

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

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

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

Remapped by Srg2Source from Bukkit/CraftBukkit@547cb4c8969ed0cad1357545eaee382da072c953
Return instance of CraftInventoryBeacon for Beacons.  Fixes BUKKIT-4521

Remapped by Srg2Source from Bukkit/CraftBukkit@a3390f50fa400644b539cf7d9b22c42ae8e2b3eb