BUG If config key doesn't exist, false config vals aren't merged.

Config::merge_array_low_into_high() will ignore false values that
don't exist in the config already. The expectation is that if the
key isn't set, you can still set a false value, just not overwrite
the true value with a false one when merging into an existing.

Added some tests to verify that merging still works as expected.
This change will mean that now arrays of empty values will now be merged as well. That might be ok?