scripts: zephyr_flash_debug: generalize to support debugging
scripts: zephyr_flash_debug: generalize to support debugging

Replace the 'flash' method with a 'run' method, which takes a command
to run (flash, debug, or debugserver).

Rename the classes involved appropriately, and generalize the factory
interfaces as needed.

Add documentation and theory of ops.

Signed-off-by: Marti Bolivar <9d90ac4c7bf6a305f6bfd81a23c7859bc883380e@linaro.org>

finikorg/zephyr,GiulianoFranchetto/zephyr,kraj/zephyr,zephyriot/zephyr,aceofall/zephyr-iotos,nashif/zephyr,nashif/zephyr,mbolivar/zephyr,nashif/zephyr,zephyrproject-rtos/zephyr,aceofall/zephyr-iotos,finikorg/zephyr,galak/zephyr,galak/zephyr,zephyrproject-rtos/zephyr,kraj/zephyr,ldts/zephyr,nashif/zephyr,GiulianoFranchetto/zephyr,zephyrproject-rtos/zephyr,punitvara/zephyr,explora26/zephyr,zephyriot/zephyr,Vudentz/zephyr,aceofall/zephyr-iotos,Vudentz/zephyr,explora26/zephyr,mbolivar/zephyr,explora26/zephyr,explora26/zephyr,aceofall/zephyr-iotos,mbolivar/zephyr,galak/zephyr,ldts/zephyr,finikorg/zephyr,Vudentz/zephyr,kraj/zephyr,Vudentz/zephyr,kraj/zephyr,punitvara/zephyr,zephyrproject-rtos/zephyr,kraj/zephyr,Vudentz/zephyr,Vudentz/zephyr,fbsder/zephyr,mbolivar/zephyr,ldts/zephyr,punitvara/zephyr,finikorg/zephyr,aceofall/zephyr-iotos,ldts/zephyr,finikorg/zephyr,zephyriot/zephyr,fbsder/zephyr,zephyrproject-rtos/zephyr,zephyriot/zephyr,galak/zephyr,mbolivar/zephyr,fbsder/zephyr,punitvara/zephyr,GiulianoFranchetto/zephyr,punitvara/zephyr,ldts/zephyr,GiulianoFranchetto/zephyr,fbsder/zephyr,explora26/zephyr,galak/zephyr,GiulianoFranchetto/zephyr,nashif/zephyr,fbsder/zephyr,zephyriot/zephyr