Compute parity of event identifiers

ReadEvent objects have an even identifier whereas WriteEvent objects have
an odd identifier. This helps debugging and could be the basis for future
optimizations in the SMT solver. If this turns out to be absolutely
wrong, we reserve the right to revert our changes. For this reason,
Event::id() does not mention the new parity characteristics for now.