case-map: Identity map is only when there are no changes at all.
case_map_stage_get_case_map() called a mapping an identity map when no
data was reordered, which left the possibility that data was removed from
the end would be called an identity map. This seems like a bad idea, so
this commit tightens the criteria.
This is a bigger than necessary change that also avoids per-variable
malloc()s that weren't really needed.
This might be a bug fix. I haven't identified a particular bug that
it fixes.