Keychain claim() and release() minimally working

they use _register_responder_for_message() to work non-blockingly internally
save the caller location in a string
Nessy::Claim objects no longer know about keychain objects

Claim objects now get an on_release property that gets called as a coderef
whenever the release() is called
release() on a claim can now take an optional callback