WIP: More work on the communication layer

Split command processing into "queued", "sent" and "acknowledged" events, added command acknowledgement tracking via nack_line queue, using that too for resend implementation

Problem: Deadlock when using a real printer after receiving first "ok" response to "N0 M110 S0" right at the beginning of the print.
Further work on the communication layer

Write blocks on the serial interface are now handled gracefully (also the write timeout has been set to a more sane value, maybe that can be lowered more?).

I'm still observing some weird "stops" when printing the valentine dragon thingy on a Printrbot Simple, still trying to find out what's happening there exactly.