Reverted and fixed newly introduced bugs of commit 3849956

context_op does not have to push ident to stack as this was already
handled by context_ident (and is now again...).
This handles the push
more locally which allows us to handle methods like context_assign a
lot more easily.

check(..) takes the next morpheme, so new implementations of
check_.._ident() did a context check on the next morpheme after the
ident. Old, correct implementation once again.

Reintroduced method "throwAssertion(..)" to avoid code duplication.
A stack trace shows the method the assertion was thrown from, so
no need to write this in the message. (RuntimeError, so never printed
nicely)

Removed context_loop_expr() as it is the same as context_cond_expr()
and will always be. Both times, a condition is checked.

Reverted context_maybecomp: only assigns variable if needed to, no
need to do this twice with null initialization.