vboot_reference/futility: Port W path to using libflashrom

Use libflashrom API over sub-processing the flashrom CLI.

Squash in,
  vboot_reference/futility: Use image layout as fallback

  Use the layout encoding within the image as the fallback if
  we cannot read it from ROM. Also cleanup error paths while
  here.

BUG=b:203715651
BRANCH=none
TEST=cros deploy to nocturne and ran:
 `/usr/sbin/chromeos-firmwareupdate --mode=recovery --wp=1`.
&& `$ cros_run_unit_tests --board nocturne --packages vboot_reference`.

Cq-Depend: chromium:3249690, chromium:3281062, chromium:3288610
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Change-Id: I892aec510d8023abd42a07cbb036be79bc8b4498
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/3247852
Tested-by: Edward O'Callaghan <quasisec@chromium.org>
Auto-Submit: Edward O'Callaghan <quasisec@chromium.org>
Commit-Queue: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Sam McNally <sammc@chromium.org>
2 files changed