* clean-up useless stream read() / flush(), rely on timer and internal state
avoids wdt reset with sensors looping on available()
* fix some instances of `available()` in boolean context to use `>0`
(not everything returns sign, but if it does - we are in trouble)
* util func to read available bytes from the stream using buffered
interface instead of 1 byte at a time