More robust Conditionals.

Now using a ShieldedDict instead of just a seq. Is a bit slower when a single conditional
is defined, but should not loose much speed as more and more are used. Also added the
ability to cancel a defined conditional.