Logbuf rewrite + specify number of log lines to return

Closes #133, closes #92.

Docker backend is untested, and logbuf event buffering until a newline is missing.
You could return a 400 here if the parsing fails rather than silently ignoring