allow per job instance binding in preparation for running errand

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
allow per job instance network binding for running errand

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
extracted out InstanceVmBinder

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
added deployment preparer for errand

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
extracted DnsBinder

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
added JobManager to manage instances for an errand

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
extracted Runner for errands

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
bring up and then delete job instances used for errands

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
added lifecycle key to job

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
only deploy jobs that are marked to start at the beginning of the deploy

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
hack around non-reliable vsphere cpi network configuration support for errands

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
record errand running the event log

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
flatten out cli messages for running errands event log

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
disallow running non-errand jobs via run errand cmd

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
added integration test for errand vm allocation/deallocation

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>