Add support for detection and handling of connectivity issues

@dcneiner / @ifandelse - ran into this earlier today while writing specs for a lib using Halon where I needed to test how my lib was going to handle connectivity failures. It went a little something like this:

![hatfail](https://cloud.githubusercontent.com/assets/115508/5060446/2bb03da0-6d1b-11e4-9a65-5fc4ee002d9d.gif)


Now I can proceed :stuck_out_tongue:  Hopefully the approach isn't too objectionable. Interested in your reactions :)


Do we want to keep the console statement in there now that there is proper error reporting?