Bug 839814: Returning undefined from a context listener should hide the menu item.
(cherry picked from commit 11b766d803947adbc36e460bab5758c00c22be37)
(cherry picked from commit 22cda4b088a46f086fdfd6d8cabbf7e30605b7f3)
Merge pull request #765 from ochameau/bug/833783

Fix Bug 833783: Fix leaks in tabs and windows when closing a top-level chrome window. r=@erikvold(cherry picked from commit b06eb5ba5d95fa7c2ccfb916ed7a4bc388579a9a)
(cherry picked from commit b439ee918cc5132d2cced8c536a46790f9794b3c)

Conflicts:

	lib/sdk/tabs/tab-firefox.js
Bug 833783: followup, fix exception when calling destroy multiple times.
(cherry picked from commit d4556ce2521960a009c5051b91132de9f6ed9b0f)
(cherry picked from commit 1c315cb1e8cc3ecd5cb0ac34fceda9fa73b41630)