Marshal writes a frontmatter file with data in the header and content in
the body. If data is a proto.Message it will use Protobuf Text, otherwise
it will use a simple YAML serialization.
Unmarshal reads the input and parses the frontmatter into data returning the
content. If data is a proto.Message it will use Protobuf Text, otherwise it will
use YAML to read it.