implement rename local channels (issue #23)

* local channels keys are now based on channel index (== source_n)
* handles duplicate channel names (issue #46)
* added 'channel-name' key to storage (issue #43)
* added GetChannelName() method
* added IsConfiguredChannel() method
* added makeChannelId() method
* removed IsRoomFull() method
* removed encodeChannelId() , decodeUserId() , and decodeChannelId() methods
* removed GetLocalChannelDisplayName() and GetChannelDisplayName() methods
* removed GetLocalChannelIdx() , GetRemoteUserIdx() , and GetRemoteChannelIdx() methods
* merged CreateLocalChannel() and InstantiateLocalChannel() into AddLocalChannel()
* split the Trace defines into per-class files
* refactored LocalChannel specific button event handling into subclass