Document Timeout::timeout 0 and nil argument behavior

Many parts of Ruby accept timeout values which are passed to `Timeout::timeout`. This raises questions about timeout's behaviour with certain types of input, such as `0` and `nil`.

This patches adds documentation for the behaviour timeout when given a `0` or `nil` argument.

If this patch is accepted I can backport it to the Ruby 1.9 branch.