Route the serial read() calls through expect_and_read()

expect_and_read() is a new wrapper around read(2) that calls
tcsetattr(c_cc_[VMIN] = count, TCANOW) on the file descriptor
before every read ensuring that the read does not stall on the
PC side and abort the stream.