socket_timeout of None means default blocking behavior.
Use keyword arguments to avoid accidentally setting timeout
Unit tests for pickler and timeout