zip by schema first, then values

this fixes a bug where if a row has a single value which is nil, the result
will be:

{:foo=>1},
{},
{:foo=>3}

instead of:

{:foo=>1},
{:foo=>nil},
{:foo=>3}
bump version