adding new socket timeout exception class
expanding unit test coverage
- adding tests for the socket timeout exception class
updating socket stream buffer to throw timeout exceptions