Add buffering to NGOutputStream

Previously every call to NGOutputStream.write required six system
calls:

19464 sendto(8, "\0", 1, 0, NULL, 0)    = 1
19464 sendto(8, "\0", 1, 0, NULL, 0)    = 1
19464 sendto(8, "\0", 1, 0, NULL, 0)    = 1
19464 sendto(8, "\t", 1, 0, NULL, 0)    = 1
19464 sendto(8, "1", 1, 0, NULL, 0)     = 1
19464 sendto(8, "_site_265", 9, 0, NULL, 0) = 9

Now it requires one:

19089 sendto(8, "\0\0\0\t1_site_265", 14, 0, NULL, 0) = 14