add KVM provider with virtio support

Here is a new provider for KVM as we talked about.

This provider is almost identical to virtualbox, to create a raw image and adds an optional virtio support.

Most tasks in __init__ are identical to vitualbox, which may lead to "meta" tasks to group virtualbox/kvm/... init tasks to create a raw image.

I have tested it with and without virtio in my private cloud.