Break up TypedBytes into TypedInput and TypedOutput.

Update Response to use TypedInput.

Closes #135.
Merge pull request #148 from square/jw/typed-things

Break up TypedBytes into TypedInput and TypedOutput.