Add ability to handle upload timeout threshold by using a stream for post data
Move exception classes higher in the file
docstring updates