Fix #8661: fcntl(fd, F_GETLK, ...) violates POSIX

The standard states that F_GETLK should check whether given lock would be
blocked by another one and return description of the conflicting one (or
set l_type to F_UNLCK if there is no collision).

Current implementation of F_GETLK performs completely different actions, it
"Retrieves the first lock that has been set by the current team". Moreover,
if there are no locks (advisory_locking == NULL) an error is returned
instead of l_type set to F_UNLCK.
nfs4: VFS uses signed offsets while NFS4 expects unsigned
Added optional package System-sounds.

Added the optional package for system sounds that
were collected for GCI 2012. Also added the demo
packges to the "contents" at the top of OptionalPackages.
iso9660 fs driver bugfix + code refactoring

Signed-off-by: Matt Madia <mattmadia@gmail.com>
Automatic whitespace cleanup. No functional change.

This push (ok, the previous changeset) fixes #9486.
usb_modeswitch: support for some new devices

* tested OK with the stick ZTE MF190
Network Kit: Fix parallel build

* HttpAuthentication.cpp wasn't in ssl grist
  resulting in unmet dependencies. #9523
* md5.c only being used when ssl wasn't available
  was kind of spaghetti logic.  These changes make
  this more obvious.
Termcap.src updated to one shipped with ncurses 5.9

New version of termcap.src was generated using the "master" terminfo.src
database taken from the ncurses 5.9 package. This database is looking
like only one up-to-date I have found. This update is pre-requisite for
lot of Terminal BCE refactoring changes that follow soon;
File was generated using "tic -CrtT" command and was fixed for unpaired
:fs= and :sp= entries to satisfy ncurses' sanity check.
Reverting hrev45143:bold characters visual regression

Terminal is GUI application and there are no need to emulate bold
in some kind of color adjustments, especially in case the proposed
emulation look is too far away from results observed on similar software
like xterm, Konsole and XFCE Terminal.
Cleanup:Remove unused pref entries and fix typo

* PREF_SHELL is not used anymore, corresponding entry in /etc/passwd
  should be used instead;
* PREF_GUI_LANGUAGE is not actual anymore - we have system-wide
  UI localization support;
* Fix typo in the name of MSG_SET_TERMNAL_TITLE constant.
OSC and color management improoved

* Global kTermColorTable replaced with it's private copy for every
  TermView instance. This allows to modify colors table for every view
  separately;
* Set of ANSI normal/bright color entries added into preferences;
* Default color table generated dynamicaly using ANSI colors
  preferences. 6x6x6 color cubes and grayscale ramp are generated in
  xterm colors model;
* Improoved support of Operating System Command control sequences;
* Support for X11 rgb.txt compatible color names. Corresponding entries
  are stored in hashed form in application resource and loaded only on
  demand.
Revert hrev38316 fore-/background colors customization

This reverts hrev38316 in parts of foreground and background colors
handling. Mentioned revision has hardcoded colors to system ANSI color
entries 7 and 0 correspondently. It is very uncomfortable for the
console programs like Midnight Commander because they become
colors that were defined in the current Terminal scheme and doesn't
correspond to real ANSI color names. For example "ANSI black" can be
black, white, blue, gray or something else in dependency of the current
color scheme configuration. The same side-effect was obviously observed
for "ANSI white" and produced funny color combinations in software.
Fix empty background coloring right/below of text lines
Add Debug snapshots and capture of Terminal data flow

Two helper functions introduced: "make debug snapshots" triggered by
Ctrl-Cmd-S shortcut and "capture data flow" triggered by Ctrl-Cmd-C
shortcut. The first one makes debug dump of current data both in visual
and in text buffer, including history lines if they available. The second
one mirrors all characters and control sequences that are flowing
through the Parser. Both dump and capture files are saved under /var/log
folder. That functionality available only if the USE_DEBUG_SNAPSHOTS switch is
defined.
Support Background Color Erase, switch to xterm-256color

* Lot of fixes to add support of BCE (background color erase). Shell
  is switched to emulate xterm-256colors terminal, that is modern and
  declare the colors capabilities of our Terminal more precisely;
* Move current character attributes fAttr from TermView to
  BasicTerminalBuffer. This reduces count of function parameters on call
  various InsertXXX routines;
* In alternative screen buffer mode the whole cells "matrix" of the
  screen buffers is taken into account during drawing background of the
  cells in the view. In normal mode the "attributes" field of the
  TerminalLine is used to detect color of the area after the last
  character - there should be no changes with previous behaviour;
* Fix attributes on kSpaceChar-padding short lines. Current _line_
  attributes should be used instead of current _global_ attributes;
* Fixed pads and gaps attributes, more accurate handling of ESC[K and K°;
* _Invalidate strings just erased. Fix EraseChars DCH processing;
* Fixes for ESC[J erase lines control sequences;
* Added handling SGR 90-97, 100-107 codes;
* Clean the newly allocated TerminalLine lines;
* More precise cursor background [off-]color estimation at ends of
  lines. The current line attributes should be used instead of
  hard-coding it to fTextBackground;
* Fixed background color erase in normal screen buffer modes. Wrong
  line indexes calculation messed the drawing results or just returned
  0 [default] line attributes;
* Some more BCE support: TerminalLine::Clear() now honors current
  character attributes;
* Fixes #6143, #6510 and #6424.
Handle char attribute "holes" in Terminal History lines

Previous implementation doesn't care about characters that are not
covered by attributes run length array elements - so the attributes of
the next run array element was taken instead of default one on the
HistoryBuffer::GetTerminalLine() call. Note that this was the case of
"holes" in run array but not the characters after the end of run array
elements.
Use stack for storing saved cursor positions

That fixes issue with latest versions of Midnight Commander - it
"restores" on exit the latest postion was set, that is equal to 0.0.
Support for underline and ibeam terminal cursor styles

* Add support for underline and i-beam cursor shapes. No corresponding
  UI configuration in preferences view ATM because preferences are waiting
  for refactoring and we need some eggs for this Easters. ;-)
* Add handling of VT520/xterm specific DECSCUSR control sequences
  allowing applications to modify the style and blinking state of the
  cursor. May be utilized, for example, by console version of vim;
* Implement cursor blinking/hiding on DECSET/DECRST commands.
Use native bold style drawing (+ switchable emulation)

Use native bold font for rendering characters with corresponding
attribute set. Possibility for switching to R5-like bold characters
emulation is also implemented. This one uses uses the left-down shadow
in B_OP_BLEND drawing mode instead of the rigth-down one as previously.
Move colors table from TermView to TerminalBuffer

* ColorsTable moved to TerminalBuffer to let easy lookup of table
  during parsing of control sequences;
* Default Palette initialized from now in TermApp and preserved
  from modifying by applications;