make dependency includes optional

fixes build failure on clean checkout
introduce define for bitvector width and set it to 8 (not 32)
throw exception if one of the expr cases falls through
don't hold reference to an element in the callstack

when the callstack grows the reference becomes invalid
new builtin check; make assert assume the condition

check does what assert used to do; assert now checks the condition
and assumes it
fix assumption stack maintenance on conditional expressions

we were including code to pop back to the original context, but never
actually pushed. this meant we entered a state where the condition and
its negation were both assumed