First pass at map2_exn
Tests for map2_exn
Address CR: test all failures, match not if/else
Merge PR #24 (@ihodes: `map2*`)