created tests to reproduce problem
added isBounded method to expressions to keep track of which types require special handling
added boundedness checks to look-behind
rewrote degenerate tests to expect UnboundedLookBehindException
consolidated look-behind tests into LookBehindProps
corrected copy-paste error in genIndefinite
expanded CharRange to allow first == last
added isBounded filters to look-behind generators