specialized class for units

allows to categorize class by "Types" to avoid looping through the entire
list of Player.getUnits(), and to register type-specific listeners
added stub interface and class for needs and needees (needs owners)
brain now implements  BWEventListener directly