Don't allocate x*x array for color manager use x*1

This is for the case of 256-color terminals, it used to allocate
(reserve, actually) 1GiB of memory...
Use 8 times less space for color pair alloc map

By using bits instead of bytes to store this information.
Admit memory consumption bug in the ChangeLog
Merge branch 'fix-huge-mem-alloc-in-256color-term'
Match only filename against globals

For :fileviewer, :file[x]type already did this way.
Fix :fileviewer tag in vim-like docs

Used to be :filevtype instead.
Add "Globals" section to the documentation
Document implicit appending of filename

For :filetype, :filextype and :fileviewer commands.
Fix matching directory names

For this:
 * implement get_last_path_component() function with unit tests
 * replace {get,extract}_last_path_component() in running.c
 * use get_last_path_component() instead of after_last() for preview
   file name matching
Add examples to documentation of globals
Add a couple example for commands with globals

 * :filetype (thus :filextype)
 * :fileviewer
Merge branch 'globals-path-matching'