Make map pass key when iterator have three arguments

Make `.map` pass the `key` if iterator function have three arguments.

Tests are ok.