[Bleeding] Add new SpawnReasons for curing or infecting villagers. Adds BUKKIT-5370

Previously, zombie villagers spawned due to infection and villagers spawned
due to being cured of infection had SpawnReason.DEFAULT. This adds two new
SpawnReasons to handle these cases - SpawnReason.INFECTION for infection, and
SpawnReason.CURED for purification.
[Bleeding] Add new SpawnReason for ocelot babies. Adds BUKKIT-5378

On occasion, ocelots will have a baby spawned along with them when they spawn
naturally or due to chunk generation. This adds a new SpawnReason,
OCELOT_BABY, to handle this special case.
[Bleeding] Add new SpawnReason for silverfish. Adds BUKKIT-5382

Silverfish do not spawn naturally, only from a mob spawner or when a
silverfish block is broken due to a player breaking the block or from a
silverfish summoning other nearby silverfish. This adds a new SpawnReason,
SILVERFISH_BLOCK, to handle this special case.
[Bleeding] Add new SpawnReason for Chicken Jockey. Fixes BUKKIT-5482

Minecraft 1.7.4 added a new rare mob, the Chicken Jockey, which consists of a
baby Zombie riding on a chicken. Since the chicken is spawned as a result of
the zombie, a new SpawnReason, MOUNT, is used to handle this special case,
rather than the existing SpawnReason.JOCKEY.