fixed many pipeline requests that were returning the wrong types
extracted common Pipeline operations into PipelineBase and used that to simplify BinaryTransaction/Transaction