lots of reorganization. Handlers and validators have default __str__ and
__repr__ methods. Handlers are now stored in the run log. Raising of
runtime errors now separated from is_terminating, since these two
properties aren't necessarily related