city, world: don't use a destroy vfunc

We can't have JS code running when JS object is finalized, so
we need a signal (that will be disconnected the first time
it's fired)
Shuffle package.js around once more

What we want here is quite complex:
- ./src/gnome-weather should launch the app, no dbus involved, no
  service stuff, with local files
- ./src/org.gnome.Weather.Application should launch the app
  as a service, with local files
  this will be used for uninstalled testing (because the test
  environment expects a dbus based app)
- gnome-weather should send a dbus message and die immediately
- $(pkgdatadir)/org.gnome.Weather.Application should launch the
  app as a service, with installed files
Add coverage reports for tests

Using the new lcov support in gjs, we can see how complete our
test suite is, which nice colored HTML reports.