extract package set loading and updating into a separate class

This commit extracts the loading/updating of package sets into
a separate Ops::Configuration class. The end goal is to move
all operations in this clearer area, in order to refactor the
CLI to use thor.

During this refactoring, the complexity of loading package sets
"minimally" or "completely", which is horribly fragile has been
removed. The package set load/update code properly loads package
set information when available and required, and does with minimal
information until then.

Moreover, the package set updating code has been updated to properly
update *before* resolving the imports, as well as loading init.rb
before the imports get resolved as well.
fix enumerator returned by Manifest#each_autobuild_file and Manifest#each_osdeps_file
bail earlier in CmdLine.initialize if the current root is not our root
minor fixes
Merge branch 'stable' (early part)
osdeps: add support for yum groups
in update-config, do not re-update from the same VCS twice
fix init.rb files being loaded twice

This was a leftover from the package-set-loading code from before
the refactoring into Ops::Configuration. init.rb is now loaded
while updating/loading the package sets.
Manifest#each_package has been renamed each_autobuild_package
make sure that LocalPackageSet has a non-nil VCS object
bin: do not run git gc with the --aggressive option

It really takes too much memory.
Merge remote-tracking branches 'origin/make_aup_in_root_equivalent_of_aup_all', 'origin/restrict_osdep_overriding_warning_to_current_os' and 'origin/tune_github_access'
fix make CmdLine.setup_all_packages_directories when the imported root has packages than the local one does not
define PackageSet#each_imported_set
fix display_configuration now that PackageSet#imported_from is a Set
add shortcut to bootstrap from an existing autoproj root

Just do

  autoproj bootstrap git URL --reuse

once the env.sh from the other root has been sourced.
fix Autoproj.in_package_set

The block was not forwarded
osdeps: fix handling of AUTOPROJ_OS if :force is true

If force was true, the AUTOPROJ_OS environment variable was completely
ignored which led to returning the real operating system instead of
the one passed explicitly by the caller.
osdeps: move parsing of AUTOPROJ_OS at the top of operating_system

The previous commit broke the case where we already detected some
operating system (it is therefore cached) and one sets AUTOPROJ_OS.
fix Manifest#each_autobuild_package when called without a block