Make  clearer, and add vm_name to customization so we can set the correct hostname on VMs
Add constant for VCLOUD_TIMEOUT env var, with default
Add timeout class
WIP: Add recompose method, vapp networks to instantiate, etc.

Loads to fix in here, particularly how networks are handled...

- the recompose instance method adds the ability to add a VM to a vApp
- various supporting methods allow us to get the right data to Fog

What I really dislike here is there are two paths through this class:

  1. To instantiate a new vApp
  2. To recompose an existing vApp

But, alongside these, this class is a container for doing things with
vApps, kinda what you'd expect from a `Vapp` class. All together, this
class is doing far too much and needs to be broken up.
Add method to get the vm link that resides in every vapp template