Drive template selection with 'dist'

Pass "dist" information to VmProvisioner, which then selects
the matching template YAML file based on the "dist" value.
Allow dist and name to be nil

Consecutive dots are not allowed in hostname.