[B]Add EntityTeleportEvent cause. Adds BUKKIT-4745

Issue
EntityTeleportEvent does not have any information about teleport cause, while PlayerTeleportEvent does.

Justification
This standardizes the capabilities of teleport events between players and entities. 

PR Breakdown
Added a teleport cause parameter to EntityTeleportEvent. Updated
relevant calls to constructors in child classes.

JIRA Ticket
https://bukkit.atlassian.net/browse/BUKKIT-4745