[encode_test] Add an encode test that tests all of our types at the same time.
[encode_test] Add tests for the TextMarshaler/TextUnmarshaler interfaces.
[marshal] We want the String plistValue from TextMarshaler to contain a string, not a []byte.
[unmarshal] Care about any error thrown by UnmarshalText.