Use different PairStruct for PAPAIR

Clarification and motivation

PAPAIR and UNPAIR use the same structure (called PairStruct), but current structure is correct only for UNPAIR, because UNPAIR can produce multiple items on stack and hence can have multiple variable annotations, while PAPAIR can't. So VarAnns inside PairStruct inside PAPAIR are always ignored.

Acceptance criteria

Another representation should be used for PAPAIR which exactly captures set of all possible PAPAIRs.