Break get_regexp_cflags() into smaller functions

Namely:
 * utils.c:regexp_should_ignore_case()
 * str.c:has_uppercase_letters()
Add filter.c:filter_change() function

Changes filter regular expression and case sensitivity at the same
time.
Return error on filter_matches()

As a negative value.
To simplify some possible use cases.
Add local filter facilities to file view
Reset local file name filter on chdir

Only when directory is really changed (e.g. <new dir> != <old dir>).
Add filter submode for command line mode
Add = normal mode command to filter files
Group local filter parameters in FileView struct
Document local filter
Add cfg/hist module

It implements convenient abstractions of history list that doesn't store
its size.
Use new cfg/hist module to store histories

Namely:
 - command-line history
 - search history
 - prompt history
Reduce code duplication in utils/string_array
Rename "key" to "item" in utils/string_array
Move history saving functions to cfg/hist
Add local filter history
Add "fhistory" to 'vifminfo'

It controls storing of local filter history.
Add "=" and "filter" values for :history command

To show history of local filter.
Document adding of local file name filter
Reduce duplication in cfg/info a bit
Reset cursor for filter on line editing

Don't reset it just for non-empty line, it's too primitive criteria.