Ensure Parser::read() will always return if a timeout is specified

If the user specifies a timeout value for the Poco StreamSocket, the
read function will keep track of the elapsed time and break out of its
while loop if the timeout value has been exceeded.

Refs #6336