update to the latest sanford-protocol (v0.8.0)

This updates to the latest sanford-protocol which properly locks
down to the highest working version of bson 1.X.X.  This is needed
b/c bson 1.10.x has some bug.

/cc @jcredding
service handler render method

This adds a `render` method to the service handlers.  This method
looks for a matching template file in the source and renders it using
the engine configured with its extension.

To set this up a few things were needed:
* a `NullTemplateSource` to handler the case where no default template
  source has been configured and no source was passed as an option
  to `render`.  This has no path and no custom engines.  Null behavior only.
* update the engine `render` method API to take a `service_handler` and
  a `locals` param.  This is more descriptive of what the params are
  and also provides for passing custom locals to the templates.
* setup a test engine/template and configure it in the test helpers.
  This is so I can test a handler that renders the test template and
  make sure everything is hooked up proper.

Note, I also removed manually requiring `test/support/services' from
the tests as this is setup as the services file in test helpers.  It
was getting required in multiple times and throwing warning.