marsh: support marshalling services and being loaded in the GlobalService

Signed-off-by: Ruben Smits <ruben.smits@intermodalics.eu>
service: fix adding a service to the global service

The global service has no owner, so the parent was not set either.
We now try to set the parent and fail if that is impossible. The
owner is only set if one is present.

Signed-off-by: Peter Soetens <peter@thesourceworks.com>