EngineClient: I/O streams

Major internal change to support versatile I/O configuration per engine
client (not only stdout/stderr readers and stdin writer). Created
EngineClientStream class representing the stream being managed by an
Engine.

Change-Id: I36cab5b1df8460732f830d99c781cdce3f99637a