Cleaned up client display and error handling

Client now writes to the same chunk of the screen,
rewriting over itself instead of eating up the history.

Backend can handling popping from an empty list.