Add Mock for a vAppTemplate

This just returns a single record, which is the intention of a look-up by vAppTemplate name and Catalog name. The fields are correct, but the values are bogus. We are very specific about how it is called because that is what we require for our test – this could be extended to deal with other complex queries.
Add a Mock for post_instantiate_vapp_template
Do not return a network from sample config

This is just sample config, it doesn't deal with realistic configurations. For the test we are currently writing we need to return configuration without a network, which is valid configuration so, since this mock needs work anyway, we are removing the sample config for a network.
Add a VM to the vApp

Also set the status of the vApp to created.
Add memory and networks to the VM
Add warning and response

- warning copied from get_vapp
- response copied from put_network; we know status is correct because it's on line 37
Add the body

Make this into documentation. The easiest way to do this is to do an actual request and see what is in it.

annashipman$ irb
ENV['FOG_CREDENTIAL']='skyscape'
require 'fog'
vcloud = Fog::Compute::VcloudDirector.new
vcloud.put_memory('vm-de5b1de7-4950-4c96-9af8-a9847cf63175', 2048)

The id for that I got from using `vcloud-query vm` on an existing VM.
Add Mock for put_vm
Add Mock for put_cpu
Add mock for get_vapp_metadata

It's the same API method for vApps and VMs, so need to check both IDs.

This only returns a piece of custom metadata, not the system metadata that is also returned.
Add Mock for put metadata
Add metadata to mock vm
Add Mock for get_vms_in_lease

The only option implemented here is a filter by href as that is all we need for our tests. It can easily be extended as required.