separate Bridge::Session and do_list
add elapsed_for_human
add main() so that can be required from test programs