SES-2006 make sure generated blank node id prefix is NCName-compatible
by prepending with "genid-" (to avoid starting with a number)
SES-2006 convert supplied blank node id to valid NCName if necessary.
SES-2006 made getValidNodeId more robust and complete.
SES-2006 added XMLUtil.isNCNameStartChar, using to only prepend if
necessary.
SES-2006 single return
SES-2006 : Also test blank nodes in object position
SES-2006 : Fix number of statements expected
SES-2006 : Fix RDFXMLPrettyWriter bnode serialisation
SES-879 : Ignore failing RDF/XML tests without ignoring the whole test
SES-2006 : Test roundtrip blank node made up of special chars
SES-2006 : Change chance of collisions between blank node identifiers

By not replacing with a fixed value, but replacing with the characters
hex encoded value, the chance of collisions should be lowered. Ideally,
if users are creating weird and wonderful blank node identifiers they
should expect collisions, but replacing with a fixed value would seem to
increase the risk.
Merge branch '2.7.x' into ses-2006
SES-2006 : Add test for empty blank node identifier

Also test for namespace support for formats that specify they support
namespaces. This was the reason for merging in the changes from SES-2004
where StatementCollector finally supported namespaces with Model.
SES-2006 : Support empty/special blank node identifiers for TurtleWriter

This also fixes TrigWriter
SES-2006 : Support empty blank node id in RDFXML

Also relax the test slightly to support RDF/XML with its automatically
inserted namespace(s)
SES-2006 : Use hex encoded bnode ids in NTriplesUtil for consistency

This is a similar method to that used by Turtle and RDF/XML for cases
where the internal bnode identifier is not valid for the given
serialisation.
SES-2006 : More consistency changes for NTriplesUtil bnode support
SES-2006 : Cleanup NTriplesUtil.append

Makes it closer to the Turtle and RDF/XML algorithms
SES-2006 : Use genid in RDFXMLWriter for consistency
Merged in ses-2006 (pull request #242)

SES-2006 RDF Writers now convert blank node ids to valid values if necessary