HateController

+ HateController(s) now keep track of hate and are responsible for
selecting a target for an NPC to attack.