Serialize List to YAML; spec for it

This adds a `to_yaml` method to the List class which reconstitutes
a task list as YAML.

So, assuming no changes were made to tasks, the re-serialized YAML
should be functionally identical to the original -- that is, the
order of sub-keys within a task doesn't matter much, but their
identities do. Tests were added for verifying this.

Since task order will eventually matter, I'll need to address that
at some point with a new set of tests.