set the # of vcpus for a VM (hot plug/unplug)

Introducing new API for setting the number of cpus of a running VM.

setNumOfCpus(vmId, number)

http://www.ovirt.org/Hot_plug_cpu

Prerequisite
Vm must be Running state.
libvirt xml:
* To add cpus a VM must have the max number configured.
* Both topology and vcpu elements must exist.

snip from a domxml:
 <vcpu current='3'>160</vcpu>
 <cpu mode='custom' match='exact'>
   <topology sockets='160' cores='1' threads='1'/>
 </cpu>

this means there is a total of 160 cpus and the current num is 3

The underlying API being used is libvirt's setVCpus.
The result of hot plug/unplug a cpu to a RHEL, for instance, is a new
device under: /sys/devices/system/cpu/cpuX

Notes:
* guest OS support and behavior may(and probably will) vary on trying to
  to hot plug/unplug.

* Upgrade: VMs that have been started on hosts before this patch can
  not plug more CPU than the number of CPUs they started up with.

Change-Id: Ief35e1d335737cd98d21a5413ac9f8ab9d824c3e
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1036492
Signed-off-by: Roy Golan <rgolan@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/21789
Reviewed-by: Yaniv Bronhaim <ybronhei@redhat.com>
Reviewed-by: Michal Skrivanek <michal.skrivanek@redhat.com>
Reviewed-by: Dan Kenigsberg <danken@redhat.com>