Improved mechanism of separating extension name.

Now it checks for 'tar' subextension (previously it was checking it
only if primary extension was gz or bz2). As result:

- correctly works with 'tar.xz' and 'tar.lzma' archives;
- detects cases of archives without extension in their name;
- correctly handles 'tar.gz' archive name (when without name itself,
  only 'tar.gz' and nothing more)
Updated version number.
Implemented decompressing of bz2 archives through bzcat.
Implemented support for simple gz archives decompression.
Implemented support of xz archives decompression.
Implemented support for lzo archives decompression.
Updated status on whole script due to widening suported archives list.

Changes:
* added list of supported formats in README file
* updated version and TODO list
Updated verbose/quiet compression policies for most of the archive
types.
Perform checking for error during decompression.
Refactoring.

Code is separated into functions.
Changed printing result path behaviour.

Now by default it is printed unless option '-q' is specified.
Implemented renaming unpacked item in case such file already exists.

Previously unpacking failed in such cases.
Also added option -f|--force to overwrite file if such already exists
in the current directory. It goes both for files and for directories
(which will be fully deleted and then new one will be unpacked).
Cleared TODO item regarding already implemented printing result
file/directory path unless specified option '-q'.

Previously this printing was done only if -s was specified.
Update help message.

Added long variants for -f (--force) and -q (--quiet) options.