Fix JSONException case in doSearch() - fixes #139

This actually was pretty bad - it was failing with 'no internet connection' when
there were no hosts, because it was always assuming that there was an
accounts object, and when there were no hits, it wasn't there.

This also improves exception handling in that area quite a bit, reporting more info for unexpected cases and asking user to report the problem. We might be better to report things like this to GA, but that's for the future :-)