[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
Should we set the breeders in both parents to null if cancelled?