Add message signing features as mixin on Key

This code extends "Key" class with member functions to use the private key to sign a text message, or the public key to verify a message.

It can also sign using just the message hash (useful in special cases) and provides a number of helper functions to parse signed messages and simplify usage.

I consider this code stable and well tested.