Escape according to Canonical XML 1.0.

See <http://www.w3.org/TR/2000/WD-xml-c14n-20000119.html#charescaping>.

First and foremost, this change allows adding linefeeds, tabs and
carriage returns to attribute values.  This was not possible before,
since such characters did not get escaped and without escaping a
conforming XML reader will replace them by blanks. [1]

While at it, this change escapes attribute values according to the
Canonical XML 1.0 specification.  In particular, in attribute values
greater-than no longer gets escaped.

[1] http://www.w3.org/TR/2004/REC-xml-20040204/#AVNormalize
Merge pull request #15 from jscheid/canonical-xml

Escape according to Canonical XML 1.0.