[B+C] Add a way to induce mob breeding, adds BUKKIT-5687

## The Issue:

There is not a way to induce mob breeding, or check whether they are trying to breed.
An animal is considered to be breeding when it has been given food (EG: wheat) and is looking for another animal of its species to mate with and produce a baby animal.

## Justification for this PR:

This new API feature will be useful for any plugin that wishes to induce mob breeding. An example case would be an NPC Farmer - without a way to make mobs breed, it would have to be faked with workarounds, EG manually spawning heart particles and manually spawning baby entities.

## PR Breakdown:

#### Bukkit-side:
Adds the functions in `Animals` to induce breeding / check breeding attempt.

#### CraftBukkit-side:
Implements the functions in `CraftAnimals` to induce breeding / check breeding attempt. Mostly just wrapping some NMS functions.

## Testing Results and Materials:

Any default plugin or pre-existing plugin can simply run the functions and output results.
I personally tested by inducing two cows to breed and observing their `isBreeding` state throughout the process.

Quick example code would be a command that executes:
```
for (Entity entity: player.getNearbyEntities(20, 20, 20)) {
    if (entity.getType() instanceof Animals) {
        ((Animals)entity).setBreeding(true);
    }
}
```

## Relevant PR(s):

Bukkit: https://github.com/Bukkit/Bukkit/pull/1085

## JIRA Ticket:

BUKKIT-5687 - https://bukkit.atlassian.net/browse/BUKKIT-5687
Nope! The animals will still try to breed after the event is cancelled, and if we null the breeders here, then it won't know who induced the breeding if it's allowed to go through uncancelled later.