Add tests for lib/utilunix.c:my_system() function

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Code refactoring: my_system was split by few functions.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Add new functions:

 * int my_systeml (int flags, const char *shell, ...);
 * int my_systemv (const char *command, char *const argv[]);

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Add tests for src/execute.c:execute_with_vfs_arg() function.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Code refactoring: split src/execute.c:execute_with_vfs_arg() function.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Add function lib/utilunix.c:my_systemv_flags()

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Add src/execute.c:execute_external_editor_or_viewer() function.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Add lib/strutil/replace:str_replace_all() function.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Add support of reading parameters for external editor/viewer from main config.

for example, the config file may contain strings:

[External editor or viewer parameters]
    vim = %filename +%lineno
    mcedit = %filename:%lineno

And these external editors will open a file at the previously saved position.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Add default options for most popular editors/viewers.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Implementation of getting last editing/viewing position of file.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Add description of feature to man/help

Signed-off-by: Slava Zanko <slavazanko@gmail.com>