Merge branch 'next'

* next: (23 commits)
  Check XML messages have the correct number of children.
  Test the keypair credential XML message.
  Test the username/password credential XML message.
  Recurse into child nodes in XML tests.
  Test the permissions XML message.
  Test the trust XML message.
  Abstract out the checking of XML child nodes.
  Test the input file XML message.
  Test the input upload XML messsage.
  Abstract out the checking of XML document boilerplate.
  Test the upload XML message.
  Setup tests for the XML messages sent to server.
  Streamline the generation of hierarchical XML nodes.
  Generate credentials server messages.
  Generate trusts server message fragment.
  Generate permissions server message fragment.
  Programmatically generate input server messages.
  Streamline XML node generation methods.
  Programmatic generation of the upload server message.
  Programmatic generation of mkdir server message.
  ...