location: use a serialization format compatible with dbus

We cannot send maybe types on dbus, so instead use an array with
0 or 1 element (like GApplication does).
Compatibility with existing serialized GVariants is ensured with
the version field (so settings are preserved), but newly serialized
locations use the new format, which is now version 2.