Implements the options in CLI

The options are read by command line but not actually used.
This commit implements "with-filter", "mode" and "use-cj-version"
to the program logic.

Also improved error messages format with print_error.

This should be sufficient to fix issue #1.