Better way of detecting tab close events

The previous way would return null when getting the associated
nsIDOMWindow if the tab was closed because the window was closed.
It would also fire for tabs getting unpinned.

Also adds listener to clear settingsMap for a window when the
window is closed.
No need to clear WeakMaps on tab close probably

On second thought, obsolete WeakMap entries should get automatically GC'ed
when their windows are destroyed, so we don't have to explicitly
listen for when tabs are closed to delete their corresponding entries.
Fix obsolete comment
Lint ShareMeNot modules and update LICENSE
Merge pull request #166 from EFForg/fix/tab-close-listener

Remove unnecessary tab close listener