Add offline message (bug 1044225)

* Add offline checking. 
* I re-jigged/simplified the error page display a little (I winged this, but if @pwalm has thoughts I'm happy to iterate - and if there's already something defined let me know.)

Not sure if we need to test for packaged support of if we're happy to have this run by default like the system date checking?

Note: there was a need to patch the navigator object as `navigator.onLine` defaults to false in phantom.

![firefox_marketplace](https://cloud.githubusercontent.com/assets/1514/3923683/716dedfe-23d5-11e4-9207-c6b0684a8577.png)

![firefox_marketplace](https://cloud.githubusercontent.com/assets/1514/3923682/6d4ba432-23d5-11e4-871b-d1e0b618e224.png)

![firefox_marketplace](https://cloud.githubusercontent.com/assets/1514/3923676/5c3e5cca-23d5-11e4-827f-6770f1f00a0a.png)

![firefox_marketplace](https://cloud.githubusercontent.com/assets/1514/3923681/68ac4300-23d5-11e4-8495-78894ead5d5b.png)







These were moved inside the try{} because otherwise lint complains due to the socket var being declared there.