timeout is now a long int across all code

This fixes several weird issues that might've come up because
inotifytools_next_events() uses an int timeout, but
handle_timeout_option() (now renamed to is_timeout_option_valid()) works
with an unsigned long int. Not to mention that parse_opts() also used to
work with an unsigned long int, but to get the blocking behaviour
working one would have to pass in a negative timeout value.

Now, having the timeout as a long int gives the user at most LONG_MAX
seconds to which he can set the timeout option to.
Fix warnings reported by GCC build flags