digestmod() has to accept a parameter in certain cases

Due to line 69 in hmac.py in the Python standard library (2.7) it
expects to be able to call the digestmod function with the current key
if the key passed in exceeds the block size in length.

This fixes the code so that digestmod can accept string as an extra
parameter, which is passed through to hashlib.new()

[1]: http://hg.python.org/cpython/file/2.7/Lib/hmac.py#l69
Bring coverage back to 100%
Merge pull request #1177 from bertjwregeer/fix/signed_serialize_deserialize

digestmod() has to accept a parameter in certain cases
document add_adapter