Forgot to use strict/warnings in Properties.pm

This exposed a bug in _required_params which lead to package-global
variables getting set in unexpected places.

We now require Nessy::Properites::_required_params() to be called as an
instance method, avoiding these problems.
replace status string with methods for Messages
add a ping command to the daemon for testing
Message objects now have a required serial number property

Some places in the code put in a dummy value GARBAGE that will be refactored away
Refactor N::K::D::Claim to take callbacks for claim() and release()

Instead of calling methods on the keychain to report success and failure,
it requires success and failure callbacks for claim() and release()

The Claim class also requires a callback in new() for handling fatal errors
better reporting of errors when a handler returns false
claims going from NEW to RELEASED fire their callbacks immediately
remove now-unused code
Claims do not need to know about keychain daemons anymore