Do not call through to Source on zero byte count write.

This ensures that a zero byte count never calls through to read the source. It may be tied to something like a socket which will potentially block trying to read a segment when ultimately we don't want any data.
Merge pull request #100 from square/jw/no-read-on-zero-bytes

Do not call through to Source on zero byte count write.