lib: Turn GeocodeLocation into a proper GObject

While I made this change under the wrong impression that gjs is not very
happy about GeocodeLocation not being a gobject, this IMO is still a
good change and I put some time into it so I'm sending this patch.

I wasn't exactly sure if we want to have 'timestamp' property writable or
not but since it was writable already, I left it as such. Perhaps it
should be construct-only?

I also took the liberty of changing all tabs to spaces in
geocode-location.[ch]. Looking at geocode-ipclient.c, this seem to be
the desired coding-style.