[roll third_party/pigweed] pw_software_update: Make OpenableReader::reader virtual

OpenableReader is a wrapper around a StreamReader that needs open/close
management. It exposes a method, `reader`, to access the reader, with
the contract that this may only be used when the OpenableReader is open.

OpenableReader stores a reference to the underlying reader inside of
itself (and it must take the reference in the superclass constructor).
However, it's entirely possible that the underlying StreamReader doesn't
exist until Open is called (for example, if the underlying reader is a
StdFileReader, reading from the filesystem).

This commit addresses this use-case by making the `reader()` accessor
virtual, and clarifies how it must be used in the header.

This commit also adds a default virtual destructor to OpenableReader,
which was missing.

Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/105177

https://pigweed.googlesource.com/pigweed/pigweed
third_party/pigweed Rolled-Commits: d645b9248bcc56c..557254a6ac70405
Roller-URL: https://ci.chromium.org/b/8806346413017215857
Cq-Cl-Tag: roller-builder:pigweed-experimental-roller
Cq-Cl-Tag: roller-bid:8806346413017215857
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I13618ad899b73e6e31fcc6651bea77e1eb85b430
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/105473
Bot-Commit: Pigweed Integration Roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com>
Commit-Queue: Pigweed Integration Roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com>
diff --git a/third_party/pigweed b/third_party/pigweed
index d645b92..557254a 160000
--- a/third_party/pigweed
+++ b/third_party/pigweed
@@ -1 +1 @@
-Subproject commit d645b9248bcc56c2df3ffc2063988ebd6ebf9989
+Subproject commit 557254a6ac704058a29e0d6f4f908d76327b2be6