allow protoError and replyError to be any type of callable
use custom exception classes in tests to make sure callables work
Merge pull request #21 from andymccurdy/master

Allow replyError and protocolError to be any type of callable