Also cleans up / adds test coverage on YAML merging.
This adds an API `PresetDefinition.from_yaml_strings()` which expects a list of YAML strings, in this case constructed by calls to `pkg_resources.resource_string`. This works both for file-based (no pip install) and module-based preset loads.
Alternative could be:
And push the call to `pkg_resources.resource_string` down into `PresetDefinition`, but this felt cleaner.
I moved over the airline demo presets in this diff to give a concrete example, but once landed should follow up and move over all dagster_examples module presets.