Fix timeout param being incorrectly handled in read()

Pretty straight forward fix, though there may be a better place for the new tests - I'm open for suggestions.

Also took the opportunity to add the missing documentation for the timeout args.

In a related note, would it be best to capture the _urllib3.exceptions.TimeoutError_ and raise a _TimeoutError_ in local scope? It might be help avoid users having to update the exception handling code if the url library dependencies changes in the future.