Added conditions to verify div and rem instruction

Added the checkpoints to verify the undefined behavior in division and remainder
instructions. Also, added the support for exact division. The key idea is to
verify that the result of division is not rounded. Simple check is:
Quotient(Result) * Divisor(Opd2) = Dividend(Opd1)
and the Divisor is always non zero.