[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
This implies that any animal can breed with any other animal. If I'm not mistaken you can't breed two animals that are too far apart or that are not of the same species. 

Maybe have this method return a boolean value for 'success' and indicate the rules in the javadocs.