Explain how to define response timeouts when many RTU slaves

Related to https://github.com/stephane/libmodbus/issues/83
Fix indentation of Windows code
Improved README file
Fix remote buffer overflow vulnerability (closes #25, #105)

It's strongly recommended to update your libmodbus library if you
use it in a slave/server application in a not trusted environment.

Debian package of libmodbus 3.0.4 already contains a patch to
mitigate the exploit but the patch isn't as strong than this one.
Slight refactor of unit-test-client
Tests on reading 0 or max + 1 registers for function 0x17
Support RTU in new raw requests tests
Updated NEWS file
Bump version to v3.1.1
Add documentation for modbus_tcp_pi_listen
Fix mistake in modbus_tcp_listen documentation
Add documentation for tcp[_pi]_accept (closes #31)
Use accept4 in TCP PI if available
Remove warnings caused by shadowed 'index' variable

The index variable shadowed a variable in the standard library causing
warnings. Renaming the 'index' variable to 'idx' resolves the issue.
Sync packaging with official from Debian (closes #134)
Check debug flag in RTU code
Fix bandwidth-server-one (closes #152)
Export Modbus function codes supported by libmodbus
New API for set/get response and byte timeouts

- update documentation
- 5 new tests
- updated NEWS file
- avoid include of time.h
Documentation typo