* Add new functions to communicator helper to return the user, password, host, based on the communicator used.
This implementation can help then generalize the provisioeners later on.
* Update null builder checks to utilize the new functions and check for ANY hostname or user or password
* Update builder to user any hostname
In order that something consuming an artifact can have access to extra
builder specific data add the State method which allows the caller to
ask for arbitary values by name.
The null builder is not really a bulider, it just setups a SSH
connection and runs the provisioners. It can be used to debug
provisioners without incurring high wait times. It does not create any
kind of image or artifact.