Fixed bug where bad tab IDs sometimes remain in the tabTimes object

It looks like sometimes tabs will start reporting a new tab ID (one example I found was gmail.com), and in those cases the previous tab IDs are not removed from the tabTimes object.  I put in a hack to make sure all tab IDs actually exist when getOlderThan is called.

I split out the tw_shared file into multiple logical files to improve code organization (and deleted unused code since in general master should not contain wip code).