SES-2004 : Add Namespaces.wrap(Set<Namespace>)

This method can be used to insert the Set<Namespace> into API calls that
require Map<String, String>, especially in cases where the API needs to
insert new entries into the Map.
SES-2004 : Start implementing tests for Namespaces.wrap
SES-2004 : Implement all tests for Namespaces.wrap
SES-2004 : Add initial StatementCollectorTest
SES-2004 : Use Namespaces.wrap in ContextStatementCollector
SES-2004 : Test new StatementCollector Model namespace integration
SES-2004 : Remove break for the corner case where there are multiples

If there are multiple prefixes with the same key, as is possible in the
Set given that we specify equality for NamespaceImpl using both the
prefix and name, then this will remove both, as expected for a call to
Map.remove(key)
SES-2004 : Reinstate OpenRDFUtil.verifyContextNotNull on constructor

The constructors were previously chained, but now that they are not, the
check needs to be on the newly independent constructor
SES-2004 : Fix author on StatementCollectorTest
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
Merged in SES-2004 (pull request #241)

SES-2004 : Populate Model.getNamespaces using StatementCollector
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