Service request intent (without performer)

This is the beginning of the new service_request API. There's no performer yet; just the factory function and the intent.
Yeah, I agree. Let's do this one first and then do `success_pred`. The current PR doesn't even finish all of `success_pred`, so...