Ensure monotonicity of termination requests.

Once termination is requested, SMTInterpol will keep this state until the next
pop command which will restore the previous state.
Fixed some PMD warnings and infos.

Some variables are made final others are not declared before an exit point of
the function that does not depend upon them.
Fixed a bug in the proof production.

We now normalize every SMTAffineTerm as soon as possible (when creating them).
This fixes a bug in the proof where normalization was not tracked but actually
changed the resulting term.