Support enumerate() and zip() in nopython mode

This PR supersedes PR #579. It's basically the same enumerate() code plus the code for zip(). They are actually related since they benefit from the same basic infrastructure additions, so reviewing them together probably makes sense.