[IO/Stats] make sure only Future's with a buffer have a completion expectation
Currently future.len if set is used as completion expectation. This does not make any sense for Futures using the len field for different values than a buffer length. For example the OpenatFuture uses future.len for the flags passed to openat. Those flags should not be interpreted as an expectation about the completion value (a file descriptor).