[vSphere] Implemented feature to specify a socket cpu layout as specified

[vSphere] Implemented feature to specify a socket cpu layout as specified in vmware API. If not used numCoresPerSocket is left out and default VMware behaviour is used.

Example for creation of vm:
```
compute.servers.create("name" => "myname", "cluster" => compute.datacenters.first.clusters.first.name, "datacenter" => compute.datacenters.first.name, "memory_mb"=>1024, "cpus"=>2, "corespersocket"=>2,"guest_id"=>"rhel6_64Guest", "interfaces"=>[interface,], "volumes"=>[volume])
```
Will end up with 1 socket with 2 cores instead of 2 sockets with 1 core each. 
This seams to have some performance advantages (might be dependent on guest OS).

[vSphere] also fixed bug in vm_reconfig_memory: wrong memory value passed to reconfig_hardware (memory in bytes instead of memory in MB).