sd-bus: if we don't manage to properly allocate the error message for an sd_bus_error, just go on

sd_bus_error_setfv() must initialize the sd_bus_error value to some
sensible value and then return a good errno code matching that. If it
cannot work at all it should set the error statically to the OOM error.
But if it can work half-way (i.e. initialize the name, but not the
message) it should do so and still return the correct errno number for
it.

This effectively reverts 8bf13eb1e02b9977ae1cd331ae5dc7305a305a09
bus-proxy: it's OK if getpeercred doesn't work

We should use the data if we can (if stdin/stdout is an AF_UNIX socket),
but still work if we can't (if stdin/stdout are pipes, like in the SSH
case).

This effectively reverts 55534fb5e4742b0db9ae5e1e0202c53804147697