[mc] In MC_ignore, keep the zeroed data out of the main snapshot
The previous implementation was zeroing out the snapshot data
* so that it will be automatically ignored by the state comparator;
* but not for the first snapshot in order to be able to backtrack
to the initial state;
In preparation for the per-page snapshoting code, we
1. zero out on the main memory;
2. keep the zero-ed bytes out of the main snapshot regions;
3. restore the zero-ed bytes.
This way the state comparison code and the per-page snapshoting code
do not have to worry about this. Moreover by normalizing, the
"ignored" bytes, we increase the possibility of sharing memory pages
in per-page snapshots.