prepend callbacks on service handlers

This adds 4 callback DSL methods to the service handlers: prepend_*
for before/after init/run.  The regular methods _append_ callbacks;
these methods _prepend_ callbacks.

Note: I switched to a more "one liner" approach to defining the
callback DSL methods to make it easier to read.  I also reorganized
the tests to make them more robust and explicit.
Merge pull request #95 from redding/kr-prepend-callbacks

prepend callbacks on service handlers
force string names when defining services on hosts

This all defined service names to be strings.  This is to avoid
confusing 404 errors when defining as a symbol but calling on the
client with a string.

Note, redding/sanford-protocol similarly forces all requests to
have string names.  This ensures that requests will always be routed
top handlers using string names.
Merge pull request #96 from redding/kr-strings

force string names when defining services on hosts
update to and require the latest sanford-protocol (v0.7.0)

This updates the code/tests for and switches the gemspec to require
v0.7.0 of sanford-protocol.  This gets on the latest version.

/cc @jcredding
version to 0.9.0

* reorganizations and cleanups to the lib code and test suite #86
* test runner raises custom exception if given an invalid handler class #87
* allow multiple init procs on host configurations #90
* Allow multiple init and run callbacks using callback DSL #91
* test runner now serializes response data #89
* prepend callbacks on service handlers #95
* force string names when defining services on hosts #96
* update to and require the latest sanford-protocol (v0.7.0) (88c56428ab0f159361eba80c281a1804ddecaa15)

/cc @jcredding