Added DamageKey and stub for damage resolution

Entities can communicate what kind of damage they deal and take through
their damage id.
Added damageId to Weapon and associated classes

In order to allow damage lookups the damage ID needed to be added to
associated classes.