Further cleanup/modernization of gdb.base/commands.exp
 - Use multi_line for matching multi-line GDB output.
 - Add a multi_line_input variant of multi_line to build GDB input and
   use it throughout.
   (The two changes above make the tests much more readable, IMO.)
 - Add a new valnum_re global to get rid of the multiple "\\\$\[0-9\]*".
 - Remove gdb_stop_suppressing_tests uses.
 - tighten a few regexps.
 - Replace send_gdb/gdb_expect with gdb_test_multiple and simplify,
   making pass/fail messages the same.
gdb/ChangeLog:
2016-11-09  Pedro Alves  <palves@redhat.com>
	* gdb.base/commands.exp (runto_or_return): New procedure.
	(gdbvar_simple_if_test, gdbvar_simple_while_test)
	(gdbvar_complex_if_while_test, progvar_simple_if_test)
	(progvar_simple_while_test, progvar_complex_if_while_test)
	(if_while_breakpoint_command_test)
	(infrun_breakpoint_command_test, breakpoint_command_test)
	(user_defined_command_test, watchpoint_command_test)
	(test_command_prompt_position, redefine_hook_test)
	(stray_arg0_test, error_clears_commands_left, redefine_hook_test)
	(redefine_backtrace_test): Use runto_or_return, $valnum_re,
	multi_line_input and multi_line.  Remove gdb_expect and
	gdb_stop_suppressing_tests uses.
	* lib/gdb.exp (valnum_re): New global.
	* lib/gdb.exp (valnum_re): New global.
	(multi_line_input): New procedure.