bus: split up overly long sd-bus.c into three files
bus: don't rely on gccisms/c11 in public header files.

One day sd-bus.h should become a public header file. We generally try to
be conservative in language features we use in public headers (much
unlike in private code), hence don't make use of anonymous unions in
structs for the vtable definitions.