Entities don't know their own name

This was unneeded, trying to move towards entity listeners.
Remove unused code
Clarify debug messages
Rename: SensorContactListener -> LoserContactListener

Better reflects that it will deal with entities and sensors, not just
sensors.
losergame.sensors.LoserContactListener -> losergame.LoserContactListener

Shouldn't have been in that package in the first place, as it dealt with
the interactions between sensors and the world, instead of just being
specific to sensors.
Rename in preparation of entity listeners
Create EntityListener

Perhaps this type of format could also be used for the sensors and their
listeners...
Logic for calling entity listeners

This is probably refactorable, because it's very similar to the sensor
listener logic, but it's very likely not worth the time
Pass ContactListener into Entity

This is so as to be able to handle setting entity listeners
Fix type
Fix errors caused by passing LoserContactListener to Entity
Make Entity an abstract class

This is needed in order for entity listeners to have the most specific
type information possible about an entity (instead of just type
`Entity`, a listener may be able to know that it is a `RadioEntity`,
etc.)
Fix error caused by Entity being abstract
It didn't need to be abstract after all, just generic
Un-fix
Use Entity<Entity<?>> instead of raw type Entity

This is so that entityListeners may know about at least an Entity,
instead of just an Object.
Fix lots of errors about referencing the raw type Entity
Merge branch 'entity_abstract' into entity_contact_listeners
Let Entity class handle adding listeners
Set userdata on an entity's body to the entity.

This makes things easier, generally. Right now, it's just used to get
the entity's name. Technically, we could just set the userdata to the
entity's name, but I think this could possibly be a better solution for
the future.