encoding/xml: add, support Marshaler interface

See golang.org/s/go12xml for design.

Fixes issue 2771.
Fixes issue 4169.
Fixes issue 5975.
Fixes issue 6125.

R=golang-dev, iant, dan.kortschak
CC=golang-dev
https://codereview.appspot.com/12603044
encoding: new package

See golang.org/s/go12encoding for design.

R=r
CC=golang-dev
https://codereview.appspot.com/12541051