[B+C] Implement leash related methods. Adds BUKKIT-4498

#### The Issue:
The Bukkit API doesn't expose any methods related to leashes. NMS has two fields that provide information about an entity's leash. One is a boolean value that which is true when the entity is leashed, the other is an Entity containing the leash itself.
#### Justification for this PR:
I think it would be useful for plugin developers to have access to these fields. These basic methods are necessary to create any sort of plugin that uses leashes.

#### PR Breakdown:
This PR introduces 4 methods to LivingEntity; isLeashed(), getLeash(), setLeash(), breakLeash(). They are pretty much wrappers for the NMS methods. The changes to EntityInsentient were needed to prevent setLeash(null) from dropping a leash.

#### Relevant PR(s):

B-#### - https://github.com/Bukkit/Bukkit/pull/#### 
CB-#### - https://github.com/Bukkit/CraftBukkit/pull/#### 

#### JIRA Ticket:
BUKKIT-4498 - https://bukkit.atlassian.net/browse/BUKKIT-4498