SES-1803 : Update Literal and ValueFactory contracts to RDF-1.1

http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#section-Graph-Literal
SES-1806 : Add null pointer exception for LiteralImpl.setLabel(null)
SES-1803 : Implement new Literal methods
SES-1803 : Add Literals.hasNonNativeDatatype(Literal)

This method provides a check for RDF writers that matches some concrete
syntaxes where language literals cannot have an explicit datatype, or if
they do have a datatype, whether xsd:string is implied.
SES-1803 : Add since annotations to new Literal methods
SES-1803 : Refactor NTriplesUtil.append(Literal...

Now uses the new isLanguageLiteral and Literals.hasNonNativeDatatype
methods to determine whether to write out language tags or datatype URIs
SES-1803 : Reuse NTriplesUtil in SPARQLFederatedService
SES-1803 : Reuse NTriplesUtil in QueryStringUtil
SES-1803 : Add escapes for \b and \f to NTriplesUtil.escapeString
SES-1803 : Add \f and \b to NTriplesUtil.unescapeString
SES-1803 : Replace SPARQLUtil.decodeString with
NTriplesUtil.unescapeString
SES-1720 : Deprecate Literal methods in QueryEvaluationUtil that will
simply not work with RDF-1.1 due to it not recognising the concept of
Plain Literals or Simple Literals.
SES-1803 : Reuse NTriplesUtil in SPARQLOperation
SES-1803 : Datatype will not be null, so remove check on it
SES-1803 : Remove unnecessary cases since datatype will never be null
anymore
SES-1803 : Reuse NTriplesUtil in SPARQLConnection
SES-1803 : Reuse createBGP in createDataBody
SES-1803 : Explicitly return rdf:langString in EvaluationStrategyImpl

This should have been the expected behaviour for RDF-1.1 Language
Literals, but easier to check for it first to make sure.

Leaving xsd:string simple literal case that should never be hit as a
safe backup.
SES-1803 : QueryEvaluationUtil.isStringLiteral needs to return true for
language literals to fit SPARQL definition semantics
SES-1826 : Convert to using BCP47 from Java-7 for RDF-1.1 compatibility