Update code style in dir_stack.h
Provide dir_stack changes freezing capability

Specifically this adds to functions:
 * dir_stack_freeze to "remember" all the changes
 * dir_stack_changed to check whether anything was changes after last
   freezing
Change rule of overwriting dir_stack in vifminfo

Before: overwrite if it's not empty.
Now: overwrite if it was changed.
Extract write_options() from update_info_file()

Writes current values of all options into vifminfo file.
Extract write_commands() from update_info_file()

Writes user-defined commands to vifminfo file.
Extract write_bookmarks() from update_info_file()

Writes bookmarks to vifminfo file.
Extract write_tui_state() from update_info_file()

Writes state of the TUI to vifminfo file.
Extract write_registers() from update_info_file()

Writes bookmarks to vifminfo file.
Extract write_dir_stack() from update_info_file()

Writes directory stack to vifminfo file.
Extract write_trash() from update_info_file()

Writes trash entries to vifminfo file.
Extract write_general_state from update_info_file

Writes general state to vifminfo file.
Free memory on vifminfo write fail
Note change in the way dir stack is stored
Merge branch 'vifminfo-correct-dir-stack-merging'

Change the way directories stack are merged in vifminfo file.  Instead
of overwriting stack when current stack is not empty, do this only when
it's actually changed.