Improving handling of uncaught exceptions

Fixes #17 .  Two improvements are made here:

1.  There's a new option for configuring services that when set to true, will log any uncaught exception thrown during the processing of a request

2.  In the Service DSL, previously if any requests fell through the supplied partial function, a generic error was produced.  Now there is a new `UnhandledRequestException` that is used instead.  This allows, for example, the Http protocol to supply unhandled requests with a 404 instead of a 500.