Recursive update yaml load

Similar to (and based off of) @mfalesni's work in #289, but offloads the work of recursively ensuring that mapping types have the improved update capability to the yaml loader (which we were already customizing).

The usage OrderedDict was more of a science experiment than a requirement, and could still be included if desired, but I'd rather the order of mapping keys in our config files not matter.

Also: Updated unit tests to verify the new functionality.