compiler: improve write barrier generation

For string, slice, interface values, do assignments field by
field instead of using typedmemmove.

Change-Id: I431ee71c26e7047e8fad495a2994336f617c1705
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/181297
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2 files changed