Capture unhandled exceptions

Since there should be only one PACKMAN process with some subcommands, the
signature file '.pid' must be created and deleted correctly.

The unhandled exceptions will cause that file not be deleted, and this
will prevent other PACKMAN processes running. So I added a capture for
those exceptions to ensure that file is deleted.
Refactor file operations

The file_manager.rb is created to organize any methods that provide
operation on the file (also directory).

I also changed to use Minitest to do the unit test.
Fix remove subcommand

Previously, there will be remaining empty directories. Now they are gone.
Improve option setting workflow

There are two sources of package options, one is from config file and the
other one is from command line. Now the two option sources are better
combined. They both propagete options to packages.

There are common and default package options: 'skip_test', 'use_binary'
and 'compiler_set_indices'. The package developers can use such easy
understood helper methods in the package classes, such as 'skip_test?',
'use_binary?'.

The command line option check is moved out from CommandLine::init method
because the compiler sets in ConfigManager, which is after CommandLine::init
may affect the check.