More improvements to content script injection.

Don't continue injecting content scripts if the script injection process has been restarted (e.g. if scripts 1-3 of 5 have been injected, then a sub-frame completes loading so the whole process has to start again: don't inject script 4 which may depend on scripts 1-3).
It's never cleared, but nor is it added redundantly. It's not quite true that it's added whenever the 'injectContentScripts' message arrives; it's added whenever that happens _and_ the tabId is not already in the inspectedTabs map.