Make transition tests optional in transition lists

Now transition lists elements can be a transition name, or a (name,
test) pair.  They can also be a (name,) singleton, which may be useful
if the transition name is itself a pair.

This submission also eliminates use of always_transition to keep the
examples cleaner.