Preliminarily support parallel Hdf5 and Netcdf_c
Fix bugs

The options defined in config file has been propagated to packages, but
we still need to propagate them to package's dependencies.
Fix a bug and test parallel Netcdf_fortran

The bug is that the default compiler flags are not effective.
Add PackageLoader class

When setting build options in config file, we need to propagate them not
only to package's dependencies, but also the dependencies of the
dependenceis.
Add remove subcommand

User can use 'remove' subcommand to uninstall packages.