New PowerLineTransport method: bool ReadByte(unsigned char *cByte, int iTimeout)

I have just added a new function, to the powerline transport interface. Previously you could read either blocking or non-blocking. Which has up until this point satisfied all the needs. However, last night I was messing about with loading all devices status at startup, and found that the wireless devices (remotes and motion sensors) do not send a remote ack at all, so I wait for it forever, hence the new "block with a timeout" function, if I timeout, I can just abort the process, the timeout can be set for a "while" (5 secs or so) and recovery managed accordingly.