This assert checked for the bottom 2 bits of a gid to be 0. Now that
gids are indexes, these two bits are frequently not zero. Looking at
the code, there is no place (that I could find) where those bits are
set (I think kwfGidEndMarker used to be stored there).
- Fix gids to be calculated the same on 32 bit and 64 bit platforms.
Previously they were byte offsets into a pointer array, which meant
multiple of 4 on 32 bit platforms, and multiple of 8 on 64 bit platforms.
Now they are indexes.