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.