Introduce IYamlParser for parsing YAML with an arbitrary library and use...

... it in YamlDataSet. (Fixes #104)

- I took a guess on copyright assignment and "since" tags. Let me know if they should be different.

- FYI, I thought about what it'd take to expand this to writing YAML as well as parsing it, in case anyone ever needs to in the future. We could:
  - Move IYamlParser into its own file for better organization.
  - Add a writeYaml() method to the interface.
  - Use IYamlParser in Persistors_Yaml like we do in YamlDataSet here.
  - Pass the IYamlParser in YamlDataSet to the construction of Persistors_Yaml in write().