Allow the salt master hostname to be specified.

This means we don’t rely on the static hosts in the provider config
Let the roles be specified when bootstraping a minion.

Previously they were forcef to come from the provider config. For AWS we might not have this
Make sure the /etc/salt dir exists before we try to put a file.

It exists in some golden images, but not on all (i.e. not on AWS)