Reuse node+source memory (closes #51)

Moves struct ms_node and PyObject *source into a new SharedKeyInfo
structure, which is allocated at the tail of the Key structure when
allocating a KEY_SHARED key.

During invalidation, all this memory (24 bytes) can be reused to hold
the copied key, if it will fit, which is quite likely.