SES-1972 : Replace invalid BNode characters in NTriplesUtil

N-Triples, at least RDF Test Cases format, is strict about only
accepting letters and numbers as blank node identifiers, and only
letters as the first character. In order to satisfy this requirement,
the arbitrary BNode.getID() String values which can be setup by any
ValueFactory, must be validated, and any invalid characters overridden
when writing N-Triples and N-Quads.

The corner case of a BNode.getID() that is empty is also supported by
replacing it with a fixed value, as there is no other way of determining
its identity at this point.