Move map2Conserve to a new home, next to map2.
Make map2Conserve occupy constant stack space in spirit of SI-2411

I recently discovered a StackOverflowError, caused by this function:
https://gist.github.com/folone/7b2f2e2a16314ab28109
The circumstances are pretty extreme, still having a tail-recursive
function seems to be a good idea.
The function behaves the same way old function did (supported by tests),
which is not really how map2 behaves. I did not change this behavior to
not introduce any regression. I actually tried to make it behave like map2,
and it does introduce regression.
Merge pull request #2764 from folone/master

Making map2Conserve occupy constant stack space in spirit of SI-2411.