cc::application: Rename vst to vs (std::vector<std::string>)

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
cc::application: Revise parse_prefer_format

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
Move cc::options exceptions to cc::error

Other:
* Add cc::error::config

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
cc::re: Throw Boost.Exception based exception

Modify cc::re to throw a Boost.Exception (cc::error::tuple) instead of
the std::runtime_error.

Other:
* Update cc::options::tr to modify the thrown exception
* Rename _check_re_error

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
Move cc::fstream::error to cc::error as fstream

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
Use a string reference with BOOST_FOREACH

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
Use a vector reference with BOOST_FOREACH

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
Rewrite cc::nothing_todo_error as cc::error::nothing_todo

* Derive from the Boost.Exception (boost::exception)
* Use the BOOST_THROW_EXCEPTION macro to throw
* Move to the cc::error namespace

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
Move non-critical exceptions from "cc::error"

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
Add cc::sig

This (header-only) implementation is intended to replace the previously
used handling code for SIG{WINCH,USR1}.

Notable changes:
* Add cc::sig namespace with terminal related functions
* Use sigaction(2) instead of signal(2)
* Add cc::sigwinch <class>

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
Add cc::var

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
cc::fstream: Rename shared_ptr type

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
cc::progressbar: Remove unused code

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
cc::progressbar: Rewrite, make header-only

* Remove bloat and reorganize
* Use IEEE-1541 symbols
* Use cc::sig

Other:
* SIGWINCH handler is now set only once, not everytime progressbar is created

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
cc::file: Remove unused macro definition

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
cc::file::_init: Rewrite/cleanup

Address any remaining inefficiencies, avoid code-duplication and improve
code readability.

Other notable changes:
* Remove (BOOST_FILESYSTEM_VERSION >2) if-else -blocks (Boost v1.49+ have v3)
* Rewrite `output_dir' as `output_fpath' (return output-dir + filename)
* Add cc::file::store_path

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
cc::file: Make "exists" a static member function

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
cc::file: Use updated cc::progressbar

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
cc::file: Rewrite for cc::sig (sigusr1)

Notable changes:
* Do not setup/handle SIGUSR1, leave all that to cc::sig

Other:
* SIGUSR1 handler is now set only once, not everytime a transfer begins

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>
Rename cc::progressbar::mode

* Make it part of cc::options

Signed-off-by: Toni Gundogdu <legatvs@gmail.com>