Basic works to read options from command line

Added basic code to read options from command line.
Also included simple help messages for the command line tool.

The options will be implemented in the coming commit(s).
Refactored error messages code of CLI

1. Added print_error to unify error messages due to input errors
2. Relocated print_help to the top
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.
Removed stdlib exit code reference from CLI

References to stdlib exit code (EXIT_SUCCESS, EXIT_FAILURE) was
added in commit aa71faaeb2. In particular, EXIT_FAILURE was added
as a representation of input argument error.

On the other hand, there are number of return statements that
would return the Sqlite3 error code.

Since both EXIT_FAILURE and SQLITE_ERROR are the 1, it is not
possible to distinct the return code between input argument errors
and sqlite errors.

This commit changes all the EXIT_FAILURE to -1 and EXIT_SUCCESS to
1. Also, the reference to stdlib was removed.
Implemented radical query in CLI

The "radical mode" query was not implemented yet in the previous
commit.

This commit Implements "radical mode" to the CLI interface. Will
loop through all provided code and query the radical with the
function cangjie_get_radical.

This should really reslove issue #1.
Fix CLI segmentation fault for invalid option

Giving libcangjie2_cli an invalid option would trigger segmentation
fault. This one should fix the problem hence resolve issues in #13.
CLI code clean up and option change

1. Did some format clean up to make the code easier to read
2. Changed -u to -C, --with-filter to --filter
3. Changed SQLITE_OK to CANGJIE_OK
4. Renamed print_help() to usage()
5. Used argv[0] as the program name in usage()
Changed used basename() in usage() as CLI name

The CLI tool usage() function used argv[0] as self-name. The full
path is long and unnecessary.

Hence, basename() is used to simplified the output.

TODO: libgen is part of the GNU C Library. The code is not platform
-independent. Have to make it works on other platform.
Merge pull request #13 from yookoala/cli-with-options

Improved libcangjie2_cli with command line options
Merge remote-tracking branch 'remotes/origin/master' into msvc-proj
Make it compile