added pretty-print functionality

Added pretty-print functions so that in addition to the XmlWritable
toString, an indented "pretty-print" version of an XmlDocument could be
created. Allows the user to change the indent string.