Default mutable parameters are bad style.

Also removing unused imports.
Add socket_timeout parameter to client.
Add parameters to use custom picklers.
socket_timeout of None means default blocking behavior.
Use keyword arguments to avoid accidentally setting timeout
Unit tests for pickler and timeout
Merge pull request #32 from heikkiquixey/timeout-and-pickler

Timeout and pickler