fixes #2374 - added allocation option to libvirt VM

This patch adds allocation field for libvirt. It is "freeform", therefore users
are able to edit it, but I am providing three buttons (in a button group):

* None - Sets allocation to 0G (this is default)
* Size - Allocation field is writable and user can give any value
* Full - Sets allocation to full size of the volume

When form is being edited, Size button is toggled so user can make edits. If
allocation is set to 0, then None button is toggled automatically. Also if
allocation is set to Full and user edits size of the volume, the value gets
copied to allocation automatically.

This fixes bug 2374 - basically it's a nice workaround for problems with LVM
allocating. When using LVM, always set allocate to Full and you will be fine.
Unfortunately we are not able to detect this via fog - it does not provide us
enough details AFAIK.