Handle instruction UB on the RHS correctly

This patch teaches Souper to hande UB on the RHS correctly (issue #107). It implements the following query

```LHS UB assertion => (LHS == RHS) && RHS UB assertion ```

```GetCandidateExprForReplacement``` function first builds the LHS and the corresponding UB constraints. Afterwards, the RHS is parsed reusing the same ```ExprBuilder``` context and the RHS UB constraints are collected. The side-effect of reusing the same parsing context results in inclusion of LHS constraints inside of RHS constraints, but these should be easily eliminated by the solver, because they are ``true``.
`Mapping.RHS` could in principle be an expression with UB that is constant folded by KLEE. Could we check the kind of `Mapping.RHS` here instead?