Add timeout and no upload options

1, no-upload option will skip upload speed test. This could be useful when there is little need to do uploading.
2. timeout option will set the defaulttimeout for socket. The default timeout(None) is too long when bandwidth is low.