[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):

CraftBukkit: https://github.com/Bukkit/CraftBukkit/pull/1400

## JIRA Ticket:

BUKKIT-5687 - https://bukkit.atlassian.net/browse/BUKKIT-5687
Other conditions do matter though. For example, if I read the wiki correctly, villagers cannot produce baby entities for 20 minutes after the previous. Additionally from the looks of it several mobs have various conditions that are required to be met.

At the very least if this doesn't return a success variable (and instead throws exceptions), then the produced entity should be returned.

These conditions may also affect the other methods, like `setBreeding(boolean)` as, for example, villagers require a number of registered doors in order to enter love making. Additionally all mobs have timeouts. So either additional API needs to be added to get (and maybe set) that information or it needs to be clearly documented.