Fix typos
Improve PackageLoader and the relevant codes

The 'propagate_options_to' methods are moved into PackageLoader from install
method.
Add <= method in VersionSpec