Unmarshal: If target is string and source is int, convert

This is to handle the case when you're trying to unmarshal...

a: 1

...into...

type S struct {
    A string
}

YAMLToJSON was turning it into an int when it was converting to JSON.
But now if you are converting to a struct, it will check the struct and
convert the int to a string if the struct target is a string.