internal/third_party/yaml: parse into CUE ast

Also:
- remove support for parsing into Go-structs
- remove support for encoding
- add comment parsing
- port non-standard test harness to standard go
- add testdata
- fix some bugs related to merging

Change-Id: I7fbd2bed6f76bb5da8a309f8d3fb3fb6228048ab
diff --git a/internal/third_party/yaml/testdata/merge.out b/internal/third_party/yaml/testdata/merge.out
new file mode 100644
index 0000000..e3edf5a
--- /dev/null
+++ b/internal/third_party/yaml/testdata/merge.out
@@ -0,0 +1,69 @@
+// From http://yaml.org/type/merge.html
+// Test
+anchors list: [{
+	x: 1
+	y: 2
+}, {
+	x: 0
+	y: 2
+}, {
+	r: 10
+}, {
+	r: 1
+}]
+// All the following maps are equal:
+plain: {
+	// Explicit keys
+	x:     1
+	y:     2
+	r:     10
+	label: "center/big"
+}
+mergeOne: {
+	x: 1
+	y: 2
+	// Merge one map
+	r:     10
+	label: "center/big"
+}
+mergeMultiple: {
+	r: 10
+	x: 1
+	y: 2
+	// Merge multiple maps
+	label: "center/big"
+}
+override: {
+	r:     10
+	x:     1
+	y:     2
+	label: "center/big"
+}
+shortTag: {
+	r: 10
+	x: 1
+	y: 2
+	// Explicit short merge tag
+	label: "center/big"
+}
+longTag: {
+	r: 10
+	x: 1
+	y: 2
+	// Explicit merge long tag
+	label: "center/big"
+}
+inlineMap: {
+	// Inlined map
+	x:     1
+	y:     2
+	r:     10
+	label: "center/big"
+}
+inlineSequenceMap: {
+	// Inlined map in sequence
+	r:     10
+	x:     1
+	y:     2
+	label: "center/big"
+}
\ No newline at end of file