CRUNCH-373 Detach values in MapsideJoin

Use detached values in the materialized map of values in the
MapsideJoinStrategy so that non-primitive values are correctly
handled as separate instances.

Add test derived from provided test case from Rachit Soni.