minor tweaks to ProgramInterpreter. changes to applyEffect(...) in MUDServer. moved check for '!' to top of effect checks. removed unnecessary redundancy of extra case for diff == amount for healing. created Event, SayEvent, and EventListener, SayEventListener for future event system. made Portal implement SayEventListener. made Room a SayEvent source. added a 'portals' debug parameter to list all the portals by name and show whether they are active/inactive. fixed Portal loading in ObjectLoader to actually store Portal references in portals list (is there a better place to do that? maybe go through exits)). added get(...) method to Table. added toString() method to TableEntry.