Fix retrieval of entity passenger not accounting for a lack thereof
Redefine pet entity hierarchy and subsequent interactions with 'NMS' entities

Pets are now extensions of NMS entities, rather than being built
outside of the vanilla entity hierarchy. An external ‘modifier’
attached to each pet entity is now utilised as a central reference
point for all pet entities. Certain pet data types have also been added
where possible (e.g. creeper ignition); these are still not tested and
ma be removed if not functioning as intended.

Internally, entities are now recognised as by “<type>Pet” (interface)
and “Echo<type>Pet” (implementation).

This commit is essentially a volatile, untested change to existing
EchoPet entity internals, designed to interact more nicely with
vanilla/CraftBukkit entities than previous releases.