Fix for vppctl and interactive commands (VPP-1038)
Fix for vppctl and interactive commands (VPP-1038)

- Interactive commands like "ping" read extra input from the
  input stream.
- In the case of "ping" it is simply a signal to cease the current
  operation.
- "vppctl", in non-interactive mode, will issue a "quit" immediately
  after the requested command to queue up closing of the session.
- This resulted in "ping" thinking a keypress was seen and returning
  control to the CLI; the "quit" command however is consumed by the
  keypress event handler and thus the session does not close.

- This patch reworks vppctl slightly to only issue "quit" after the
  command has completed. In particular it uses the fact that VPP issues
  NUL bytes as a surrogate prompt between output of commands to signal
  acknowledgement that the command has completed; vppctl now flags
  that the quit should be issued after the next such acknowledgement.
- Since input it still accepted, the user can still terminate the
  "ping" early, if desired.

Change-Id: I7e3dbe767f32f8e364ccb5f81799759b311585df
Signed-off-by: Chris Luke <77b9dc41542bba50ff94234985ac7feef3984b39@flirble.org>

chrisy/vpp,FDio/vpp,vpp-dev/vpp,vpp-dev/vpp,chrisy/vpp,FDio/vpp,FDio/vpp,chrisy/vpp,chrisy/vpp,vpp-dev/vpp,chrisy/vpp,vpp-dev/vpp,FDio/vpp,chrisy/vpp,chrisy/vpp,FDio/vpp,vpp-dev/vpp,FDio/vpp,vpp-dev/vpp,FDio/vpp,chrisy/vpp,FDio/vpp,vpp-dev/vpp