Api change

This change breaks API.

The previous APIs functions implied that jlog's Reader implemented io.Read and the Writer implemented io.Write.

The prior was not the case: Read *never* returned io.EOF, so if it was used in any io.Copy call or anything expecting io.EOF, it would never finish. The Write only returned an error on failure, not the number of bytes written.

Although this breaks API, I *highly* suspect nobody used jlog-go. For those that did (AKA, me) old projects can rely on go package managers to keep their existing code working.

The new API implements my messager interfaces, which imply returning atomic message and allow for reading even after all current messages have been read. This is exactly what jlog does. The change is necessary.