Adds a session runner for testing.
Adds a session runner for testing.

The session runner uses a session file from an actual run, and emulates
the harness interactions with a Go SDK. Currently this runner just plays
back data sent to the SDK; no validation is performed on the data
received from the SDK.

Assuming a session file is downloaded from a Dataflow execution, it can
be played back as follows:

go run path/to/pipeline.go --runner=session --session_file=/path/to/sesson_file

Change-Id: Id696a2fd74d38261fbd59c61cc61539746c204b1
Reviewed-on: https://team-review.git.corp.google.com/80761
Verified-Style: kokoro <2ac7b1f3fa578934c95181d4272be0d3bca00121@google.com>
Verified-BuildAndTest: kokoro <2ac7b1f3fa578934c95181d4272be0d3bca00121@google.com>
Reviewed-by: Henning Rohde <cc74ff07599c64f633a3f6876da4eb88a647f9b9@google.com>

charlesccychen/beam,robertwb/incubator-beam,markflyhigh/incubator-beam,apache/beam,chamikaramj/beam,markflyhigh/incubator-beam,lukecwik/incubator-beam,robertwb/incubator-beam,lukecwik/incubator-beam,apache/beam,charlesccychen/beam,rangadi/incubator-beam,markflyhigh/incubator-beam,mxm/incubator-beam,apache/beam,markflyhigh/incubator-beam,charlesccychen/incubator-beam,charlesccychen/beam,mxm/incubator-beam,RyanSkraba/beam,apache/beam,apache/beam,lukecwik/incubator-beam,rangadi/incubator-beam,lukecwik/incubator-beam,lukecwik/incubator-beam,robertwb/incubator-beam,RyanSkraba/beam,rangadi/beam,chamikaramj/beam,RyanSkraba/beam,chamikaramj/beam,lukecwik/incubator-beam,chamikaramj/beam,iemejia/incubator-beam,chamikaramj/beam,tgroh/incubator-beam,charlesccychen/beam,apache/beam,RyanSkraba/beam,robertwb/incubator-beam,markflyhigh/incubator-beam,rangadi/beam,apache/beam,robertwb/incubator-beam,rangadi/incubator-beam,lukecwik/incubator-beam,robertwb/incubator-beam,markflyhigh/incubator-beam,charlesccychen/incubator-beam,robertwb/incubator-beam,charlesccychen/beam,robertwb/incubator-beam,lukecwik/incubator-beam,chamikaramj/beam,iemejia/incubator-beam,tgroh/beam,chamikaramj/beam,markflyhigh/incubator-beam,tgroh/incubator-beam,robertwb/incubator-beam,lukecwik/incubator-beam,RyanSkraba/beam,rangadi/beam,charlesccychen/beam,apache/beam,rangadi/beam,chamikaramj/beam,tgroh/beam,robertwb/incubator-beam,rangadi/beam,RyanSkraba/beam,apache/beam,tgroh/beam,charlesccychen/incubator-beam,charlesccychen/beam,rangadi/beam,tgroh/beam,apache/beam,lukecwik/incubator-beam,rangadi/beam,chamikaramj/beam,apache/beam,RyanSkraba/beam,chamikaramj/beam