Better error handling when run from command line

The main problem I had was if the API was down it would catch the error
as intended, but still crash out (and create a crash dump file) because
of the use of `init stop` on the command line; it was crashing because
it was trying to stop something that wasn't running!

So I've changed my command line call and now call `init stop` wih the
script itself.

HOWEVER

I didn't want that to mean an erl shell would be exited if an error
occured (that's not going to help debugging) so I had to check how the
code was being run (from command line or in a shell) and do the
appropriate thing.

Also decided to catch everything, not just errors (also exits, etc) and
export the `get_weather` function for more useful debugging in the
shell.
Merge branch 'master' of github.com:atomicules/heads-I-lose