Extracted PINode to an struct

- Extracted PI Node as a struct because processing instructions
  require have both a name and content, which is unparsed. Also
  the PI Node now has a way to print itself.
Added stub for XmlNS printing
Added test for PINode to_str method
Fixed method name in parser_example
Fixed method names and played with debug instructions
Added printing processing instructions for XmlDoc