core: maxVCpus revised

we need to make sure must be result of cores * socket otherwise the VM
will fail to load by libvirt

for:
c  = 12 // cores
maxSocket = 16 //config
maxVCpu = 160 // config

maxVCpu = c * (min(maxSockets, maxVCpu / c)) // 12 * 13 = 156

prior to this fix vdsm would end up with

<vcpu current=12>160</vcpu>
<topology cores=12 socket=13 thread=1>

and 160 couldn't be fulfilled by cores * socket, 156

Change-Id: I2880c0a1523bf5c4a6b5144860efafb6df82deb4
Bug-Url: https://bugzilla.redhat.com/1126797
Signed-off-by: Roy Golan <rgolan@redhat.com>