Refactor problem scanner

* Split to VMScanStage and DiskScanStage

Signed-off-by: Maria Shaldibina <mariash@pivotallabs.com>
Add check if cloud has disk in disk scanner

* If has_disk is not implement the problem is not created

Signed-off-by: Maria Shaldibina <mariash@pivotallabs.com>
Add problem handler for missing disk

Signed-off-by: Maria Shaldibina <mariash@pivotallabs.com>
Add has_disk? method to vsphere cpi

Signed-off-by: Maria Shaldibina <mariash@pivotallabs.com>
Add has_disk? to external cpi

Signed-off-by: Maria Shaldibina <mariash@pivotallabs.com>
vSphere detach disk should update VM settings event if disk is not attached

Signed-off-by: Maria Shaldibina <mariash@pivotallabs.com>
Send list_disk to agent to determine disk presence

Having persistent_disk > 0 in apply spec is not an indication of disk presence

Signed-off-by: Maria Shaldibina <mariash@pivotallabs.com>