Data represents a (build, err) tuple.
Every time a Spy intercepts a *Build, it will emit this. If the Spy encounters an error, it will emit this and close the channel.
Spy extracts a Build message from LogDog streams.
New creates a build spy.
Root build proto will be expected at "<streamNamePrefix>/build.proto". All logs of its steps and of steps of sub-builds must have this prefix.
The user of this Spy must drain `C` at all times; failure to do so will potentially block all incoming work to the logdog butler this Spy is attached to.
On must be used to associate this Spy with a butler service. Otherwise the Spy does nothing.