Modify function treat_client() to have the correct behavior for timeout handling:
  * select()'s timeout was reset to its initial value each time data was received before the trigger of any match, making it potentially longer than configured, considering its start being at client connection
  * now if data is received but triggers no decision, the new select()'s timeout it recomputed to reflect the time that has passed since the client's connection
  * for that, gettimeofday() is used just before select and each time data is received before any decision has been triggered
  * #define global constant macro USEC_MAX equal to 1000000, i.e. microseconds maximal value for operations related to struct timeval.tv_usec
  * include sys/time.h for gettimeofday()
Update README and manpage (markdown and manpage formats) to make sure the timeout behavior is clear
Correct a mistake in which struct timeval variable to refer to for fetching the initial timeout (stimeout and not cfg->timeout which is just an integer)
Bug correcting in new timeout recomputation