Fix C compiler compliance error
Add missing sys/select.h for QNX (closes #158)

POSIX-1.2001 for fd_set. Thanks to spider391Tang.
Avoid to use reserved identifiers for header names (closes #157)

https://www.securecoding.cert.org/confluence/display/seccode/DCL37-C.+Do+not+declare+or+define+a+reserved+identifier
Not applied to libmodbus constants for now...
Change syscall to flush serial buffer on Windows (closes #144)

Thank you AlexMaz.
Change timeout to uint32 and add 3 byte timeout tests

- add byte timeout tests (TCP backend only)
- update and improve documentation
- long timeout values are now uint32_t so it changes the API
  to disable byte timeout
[docs] drop reference to non-existent return data

The report slave id function returns the number of bytes as the _return_
value, and does not include it as the first byte in the dest buffer.

Update documentation to reflect reality.  There's no missing
functionality, just slightly confusing documentation.
Fix few missing bold on error codes of the documentation
Fix typo in message. Thanks to Perry Kundert.
Add check for protocol identifer in TCP mode
Add const on timeval argument on Windows internal API
Fix response timeout modification on connect (closes #80)

Thanks to Perry Kundert for bug report and initial patches.