Handles sources of damage to Hostages

IMPORTANT:

One possible exploit is for the defenders to indirectly kill off the
hostages: If they kill the hostages directly, then they will lose.

That's why they would need to kill them indirectly (like fall damage). If
they can do this, then they would win by just letting time expire.

onDamagedEvent() cancels any damage to Hostages that does not come
directly from a Player (in order to prevent a possible exploit).

Might add detection in the future that would determine which player pushed
a Hostage off a ledge, then penalize that team.

For now, this is a quick fix to the problem.
Added repo
Added abstraction layer

Next error that needs to be fixed is with the HostageTracker.

HostageTracker needs it's fields passed via the constructor:
namely, it needs the list of hostages already passed to it.

The spawn location of these hostages needs to be persisted in
HostageArena.class with

@Persist
Type field;