Fix SAFT to work on all x86 platforms using crossystem.

This is the second and final CL restoring SAFT functionality
on X86 platforms. The first one was

http://codereview.chromium.org/6849042/

This change

- builds up the VECTOR_MAP to cover all legacy boot vector
  values

- adds the provision to modify the map at run time on Mario
  (because Mario firmware always reports the recovery switch
  state as 'ON' if booted in recovery mode)

- adds test cases to verify this map adjustment on Mario
  and to verify proper reporting of failed shel commands

Change-Id: I9982f53ba8a5cc286eb8767686e714e22140f892

BUG=chrome-os-partner:2617
TEST=manual

- run SAFT on Mario, Alex and ZGB, follow the directions
  (unplug and plug back in the USB flash stick a required).
- Observe SAFT complete successfully (the /tmp/saft.log file
  contains 'We are done!' as the last line.

Review URL: http://codereview.chromium.org/6881019
3 files changed