Ensure attack() happens only to entities in PLAY
Broadcast OWN_DAMAGE to the correct entities

OWN_DAMAGE means "An entity I own was damaged". So of course it should be the
target broadcasting it.
Thanks, @mischanix
Implement Armorsmith, with tests