file io

- We still need to come up with a naming metaphor for this!
- it is a pipeline communication to stream a file from a server to a client.
- It follows a model similar to: http://zguide.zeromq.org/c:fileio3
So ChunkData and ChunkSize are very tightly coupled.  Would it make sense to return them as one type?
```struct Chunk {
  size_t size;
  uint8_t* data;
}```