Separate out socket timeout from deadline for queries.

Create a new exception (DeadlineExceededError), which more accurately reflects a query hitting it's specified deadline. TimeoutError is now dedicated to errors encountered with socket timeout (also used by SSL library for secure socket wrapping). Default to 1 sec for all socket_timeouts unless specified otherwise - under normal conditions (local network, low-latency and reliable), one second is a generous amout of time to complete connection establishment in.