Initial implementation of trebuchet.local.ServiceDriver

This change implements trebuchet.local.ServiceDriver and has a
number of minor bug fixes for the service workflow.