SES-1669 : Split up the boolean and results writer interface methods

The results writer interface requires that
TupleQueryResultHandlerException be thrown, while the boolean interface
requires that IOException be thrown. There is no easy way to fix this
without redesigning the entire boolean/results architecture, so to work
around it, the two writer interfaces are now separately declared to
enable different exceptions to be thrown from both.

There are still some shared methods in SPARQLJSONWriterBase and
SPARQLXMLWriterBase but they are not from the interfaces, and are mostly
not public