KVM Test: Add new test boot from device

This patch adds new test boot from device(hd/usb/scsi-hd/scsi-cd/scsi-block).

changes from v1:
1) add subtests(boot_from_hd, boot_from_scsi_hd) into the patch.
2) modified some function.

changes from v2:
1) add subtests(boot_from_scsi_cd, boot_from_scsi_block) into the patch.
2) add some function, such as: preprocess_remote_storage(), preprocess_remote_storage()

changes from v3:
1) add master_cdroms/cleanup_cdroms function.

changes from v4:
1) modified some functions.

changes from v5:
1) change some error.TestFail to error.TestError
2) add cleanup function before raising exception
3) fix some grammer error

changes from v6:
1) remove tmp cd file
2) update check result branch

changes from v7:
1) update some code style issue.

changes from v8:
1) rename master_cdroms function name
2) update code style issue
3) add check some param

changes from v9:
1) update code style

Signed-off-by: Shuping Cui <scui@redhat.com>
Signed-off-by: Feng Yang <fyang@redhat.com>

Have merge several internal patch to one.