added an operation to the dotlrn_applet service contract. the operation's name is ChangeEventHandler and is usually implemented by change_event_handler method in the dotlrn_applet implementation. dotLRN can throw events based on changes to a community via the dotlrn_community::generate_change_event method.
currently the only event being thrown and handled is the 'rename' event. this event is thrown when the name of a community is changed. the only applets that currently listen for this event are dotlrn_fs, dotlrn_forums, and dotlrn_calendar.
applets do not have to handle all events, only events they are interested in handling.
side note: the portal namespace has to be split into sub-namespaces, e.g. portal, portal::element, portal::element::parameter, portal::layout, portal::theme, etc. each should go into it's own file so that the code will be easier to manage.