#gpowerd Support loading empty saved actions

This change updates `findLargestFileId` to return `std::optional<uint64_t>`, allowing it to clearly indicate when no valid "savedactions_" files are found. `ReadSavedActions` now returns an empty `SavedActions` proto in this case, rather than an error.

Additional tests are added to cover scenarios with no files, invalid filenames, and corrupted file contents.

PiperOrigin-RevId: 834808486
Change-Id: I948e0ea485385df8d0e5056be0fbd2b450a6d89f
3 files changed