Change the sysfs/proc fd provider to sometimes use fopen too.
don't try to flush logs from watchdog context.

Since we made log fd's be child local data, the watchdog
can't actually see those fd's, so trying to flush them could segfault.
rewrite synclogs() to only operate on a single child.

As logfiles are local to a specific child, we shouldn't try to
flush logs from other children any more.