faft: Refactor setup_mode and restore_mode

The change moves and splits the original logic on setup_dev_mode and
restore_dev_mode to FAFTCheckers and ModeSwitcher. It is also enhanced
to support setting up all firmware modes, including recovery. They are
now methods in ModeSwitcher as they are highly related to mode
switching.

BUG=chrome-os-partner:39744
TEST=Switched DUT to normal mode and ran firmware_DevMode. Then
switched DUT to dev mode and run firmware_DevMode. Checked DUT
restored to the original mode state.

Change-Id: I16314d18b785da59473df3ef5e02f7fe8f2693b0
Reviewed-on: https://chromium-review.googlesource.com/268858
Reviewed-by: Yusuf Mohsinally <mohsinally@chromium.org>
Commit-Queue: Tom Tam <waihong@google.com>
Tested-by: Tom Tam <waihong@google.com>
60 files changed