Protect against undefined tabs

Still seeing a spike in...

![screen shot 2013-08-29 at 10 24 13 am](https://f.cloud.github.com/assets/9306/1050752/1dab5c8a-10bf-11e3-96a1-10527ed07e8e.png)

**Uncaught TypeError: Cannot read property 'url' of undefined**

Thought that the issue would have been fixed in #112, but it appears you can't trust a tab to be passed to a callback. 

* Added lots of undefined tab protection.