Ticket #55: savannah: tab completion vs. spaces and escaping

* Split big functions.
* Add unit tests

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Extend QUICK_INPUT and QUICK_LABELED_INPUT macros for getting completion flags via parameters instead of using hardcoded value

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Concretize the usage of autocompliting in different input fields.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
lib/widget/input_complete.c: refactoring:

  * (filename_completion_function): use GString to ret rid of hand-made
  low-level memory allocation.
  * (variable_completion_function): likewise.
  * (hostname_completion_function): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Fix for input completions with spaces in names.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
lib/widget/input_complete.c: minor refactoring and optimization.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Merge branch '55_filename_complete'

* 55_filename_complete:
  lib/widget/input_complete.c: minor refactoring and optimization.
  Fix for input completions with spaces in names.
  lib/widget/input_complete.c: refactoring:
  Concretize the usage of autocompliting in different input fields.
  Extend QUICK_INPUT and QUICK_LABELED_INPUT macros for getting completion flags via parameters instead of using hardcoded value
  Ticket #55: savannah: tab completion vs. spaces and escaping