libvirt_vm: Introduce a method named remove_with_storage.

Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
* I would encapsulate remove() to another method named remove_with_storage(), rather than modify it immediately. Modifying a method will introduce 1 coupling, it means remove() and remove_with_storage() are connected and should considered together. So when I modify remove() here, I have to make sure the all existing caller of remove() works well after my modification. We need a regression-test. And if there is any change will be in each method, we have to consider both of them. But extending will introduce 0 coupling to system. It means we did not touch the remove() and we will not break it. So we need no regression-test. This is why we need ```inherit``` in OOD rather than modify father class immediately. It will not break its father and the size of code we need to consider is limited in child class. Same reason in this case.