(PUP-3268) Set manifest default to nil
The manifest setting can still be set on the commandline but has no
meaningful default. It was changed to /dev/null as an interim fix,
because a FileSetting has difficulty with "" (its munge method expands
this to current working directory), and with nil (breaks in the Settings
catalog). In this patch, Settings#to_catalog is changed to ignore file
settings with a nil value.
The lack of a default manifest value has an impact on the specs because
many of them execute without a fully initialized settings layer, and
Settings.global_defaults_initialized? is still false. Previously this
was guarding whether or not we would read a directory environment
environment.conf, because we could not be sure of an environmentpath,
but now that this setting has a default, this guard is dropped from
Settings#value_sets_for