Term.uniqueName now uses caValues

simplify block_state_type_is_out_of_date to use dirtying
typo fix: blockes -> blocks
add string_empty
fixes from staring at merge
fix unit tests around stateful code