Some refactoring in CaseOp
Separate case trees for totality checking, compile time and run time
and lift into their own data structure, so that it's clear which one to
use when.

Needs a "make relib"