added ntriples writer

Added ntriples writer.
Just trying to make sure I understand what you are saying (please confirm or correct me):

* "stuff" should really happen in one place: a **new** `def write(...Writer...)`  (but please do not add that to `RDFWriter` yet)
* `def write(...OutputStream...)` and `def asString(...)` should **both** rely on the previous function
* then I guess `node2Str`, `tripleAsString`, and other helper method, should all append to a `Writer` and never construct a String

Just want to make sure @antonkulaga is not blocked.