Add support for using tmux in place of GNU Screen
Fix screen split command macro
Revert change to screen specific code
Fix :ls command with older versions of tmux
Rename set_using_{screen,term_multiplexer}()

Now it handles support of screen and tmux.
Rename config_t.use_{screen,term_multiplexer}

Now this flag handles support of screen and tmux.
Rename set_use{screen,term_multiplexer} function

Now it handles support of screen and tmux.
Better messages for :screen? command
Replace curr_stats.{ using_* => term_multiplexer }

term_multiplexer is of enumeration type, which is easier to check and
extend.
Make ls_cmd() function more readable

Also add a comment and safety check.
Reduce code duplication in split_screen()

Also fix some issues with invoking screen.  An error with chdir
command and argument that contains single quote remains.
Rename and move { split_screen => run_in_split }
Move envvar names for screen and tmux in defines
Extract gen_shell_cmd() out of shellout()
Move pause defines to platform specific utilities
Add and use platform specific pause_shell()

Also hide my_system_no_cls() and rename it to run_in_shell_no_cls().
For this add an internal utils_int.h header file, which contains
common definitions for utils_* modules.
Add and use recover_after_shellout() function
Extract three functions out of gen_shell_cmd()

* gen_term_multiplexer_cmd()
* gen_normal_cmd()
* gen_term_multiplexer_run_cmd()
Reduce duplication in gen_term_multiplexer_cmd()

Generate title before generating commands, thus reducing number of
combinations that should be handled.
Reduce amount of code in gen_term_multiplexer_cmd

Unite code for paused and non paused execution of external commands.