Fix entry handling for 0 length entries.

Summary:
Two minor issues were fixed:
- The offset to entry data can be the same as the
  central directory offset when the last entry in the
  file has length 0 and is stored (not deflated). Fix
  a check that disallowed this. We already have a strict
  check that entry data must end before the central directory,
  so we're covered.
- We would attempt to map a segment of length 0 when writing
  an entry whose length is 0. We should just return early in
  this case.

bug: 12623277
Change-Id: I2a4ca0c4d170cc3cbf326e5ca13894acd9c434c9

Test Plan: came from tEh aOsP, it must work!

Reviewers: synergy, anders3408, raymanfx, donald.munn, rlasalle15, randall.rushing, jriordan001

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D323