Add step-runner gRPC service Client
This MR introduces the well-behaved behaved client for the step-runner gRPC service. There is a single entry-point, RunAndFollow that manages the entire lifecycle of the steps job, including calling the Close() API to potentially cancel a running job, and release all resources associated with it.
Note that if it is cancelled or times out, the context passed to RunAndFollow will ultimately cancel the job on the server site too since it will cause the Close() API to be called.
Reconnection handling is not implemented here, but there is room made for it by accepting a DialFunc in NewWithDialer. Adding reconnection will come later.
Best reviewer commit-at-a time
Closes Implement Service Client Library (#42 - closed)
This is part of an MR stack:
Edited by Axel von Bertoldi