GWeatherInfo: abort the SoupSession in dispose(), not finalize()

Aborting a SoupSession can call out to arbitrary user code
through the updated signal, and this is not allowed in finalize.
Do it in dispose instead.
GWeatherInfo: don't abort the entire SoupSession

The SoupSession is shared between all GWeatherInfos, so it's
extremely bad to abort it, expecially because we do when infos
are finalized. Instead, have each info keep a list of pending
SoupMessages and cancel them.