SES-1871 : Add RDFHandler.handleBaseURI

This provides a way for parsers to signal changes in the base URI, while
also simultaneously providing a way for writers to handle changes in the
base URI.
SES-1871 : Support handleBaseURI in TurtleWriter
SES-1871 : Handle Base URI in TurtleParser
SES-1871 : Support null default base URI to be mapped to the empty
string
SES-1871 : TODO notes to support base URI in other relevant writers
SES-1871 : Support base in TriGWriter
SES-1871 : Support or ignore base URI as relevant for different handlers
SES-1871 : Javadoc changes to RDFWriterFactory
SES-1871 : Implement new methods in further factories
SES-1871 : Implement base URI methods in BinaryRDFWriterFactory
SES-1871 : Implement base URI methods in more writer factories
SES-1871 : More constructors for base URI versions
SES-1871 : Add TriXWriter constructors
SES-1871 : Add tests to RDFWriterTest for base URI support
SES-1871 : Change base URI to a URI instead of a String

Also change some uses of defaultBaseURI to baseURI.

It is not clear in each context whether the user will mean either 5.1.2,
5.1.3 or 5.1.4 from RFC3986, so not qualifying it is easier. In practice
it doesn't matter which layer it comes in at, as long as it is above
URIs that appear in the document as "Base" references.