refactor(timeout): resolve connect_timeout early
refactor(test): move helper into an individual mod
test: add more tests and exception helper

Some of them are missing tests, some of them maybe be missing
if the code path is changed in the future.
fix(stats): STAT line always has 3 parts
feat(shading): prepare the interface for hashing

Add the default hash function used by EnyimMemcached.
Client() ctor now accepts address in tuple, like socket module.