Add timeout support for HTTP requests

Adds a new settings parameter, defaultTimeout, an integer number of
milliseconds.  This timeout is used for both connect, and during the
download.  So if, during the download, more than defaultTimeout
milliseconds have passed between packets, the download will
fail. Fixes IVY-735.

Signed-off-by: David Turner <dturner@twitter.com>