Fix read-after-write optimization.
Previously, if the load and store mode were equal, the optimization aborted immediately. This is not necessary, we must only abort if the load and store modes' arithmetic are not equal. This causes a bug in type-based alias analysis to appear: When a CopyB is lowered to Loads and Stores, the modes of these are always Iu instead of the actual modes of the struct's members. The test-case "opt/fehler199.c" will fail as a result. Therefore, type-based alias analysis is switched off in cparser.