Move from go-yaml/yaml v1 to ghodss/yaml

Fixes #2600.

I implemented the approach described in #2600, but I split off the actual YAML marshaling and unmarshaling code into a separate library (https://github.com/ghodss/yaml) to allow myself and others to use it instead of go-yaml. This PR includes the removal of all YAML struct tags and GetYAML/SetYAML methods since they are no longer needed. This is because ghodss/yaml converts YAML to JSON first (and vice versa) and then uses `json.Marshal` and `json.Unmarshal` to convert to and from structs. This will also make https://github.com/GoogleCloudPlatform/kubernetes/issues/1905#issuecomment-61691766 easier to implement since our YAML library will actually give us errors when it can't marshal/unmarshal something.