Improving timeout behavior and documentation

See #392 
`warn("Value '#{v}' for option '#{k}' must be integer.") unless v.integer?`