Removed the duplicated code for the Date and Tag trees.
Removed the duplicated code for the Date and Tag trees.

Expanded the TKEntryKey to inclue a 'tag' value. Switched the Tag Tree
to use this. Updated all event functions for the tree to work out
which tree was clicked from the 'event' variable. Updated the Tag Tree
to use these shared event functions.

* lib/tk_main.py
  (TKEntryKey.__init__, TKEntryKey.__cmp__): added new member variable 'tag'
  (TKEventTagTree.__init__, TKEventTagTree.GetTagStack,
   TKEventTagTree.EntryChangedListener, TKEventTagTree.OnCompareItems):
    now uses TKEventKeys instead of tuples for the tree item data
  (ThotKeeper.OnInit): Switch tag_tree to use same event handling
    functions as the date tree.
  (_TreeActivated, _TreeEditMenu, _TreeDeleteMenu, _TreeExpandMenu,
   _TreeCollapseMenu, _TreePopup): Now use 'event.GetEventObject()' to
    determine which tree the event came from (and stores this in the popup
    menu as 'parent_tree')
  (_TagTreeActivated, _TagTreeEditMenu, _TagTreeDeleteMenu,
   _TagTreeExpandMenu, _TagTreeCollapseMenu, _TagTreePopup): Removed



Isendir/thotkeeper,cmpilato/thotkeeper