Correct autoconfigure values

Without this commit, the `autoconfigure` setting does not get correctly
set to a boolean for use in the provisioner. If the `autoconfigure`
setting does not get explicitly set to `false` then it is left as
`Vagrant::Config::V2::UNSET_VALUE` which is considered to be true
in Ruby. Also without this commit `autoconfigure` defaults to true
if it isn't given an explicit value, regardless wether or not any host
entries have been added. This goes directly against the behavior that
is suggested in the current documentation.

This commit only defaults to `true` when neither `autoconfigure` is
given a value or hosts are explicitly added. When hosts are added and
`autoconfigure` is not explicitly set, `autoconfigure` will default to
`false`.