snapshot: fix call to initialize_and_load

The default argument is ARGV, but we just don't want to parse any
argument in both snapshot and versions.
output error messages to STDERR
snapshot: implement autoproj tag

It was originally a shell script, but parsing command line options
in sh is really not my cup of tea, so use a ruby script instead.
snapshot: move fancy commit creation into a separate method and fix it

When creating a new index, we need to read-tree to get the current
state in it (instead of leaving it blank). The refactoring
(moving the code in its own method) is there because of the auto-save
feature (coming soon)
implement auto-save of the commit state in import_packages

This saves the commit state in the reflog of a ref called refs/autoproj.
The idea is taken from the stash implementation. It ensures that git gc
will expire the refs after a (configurable) amount of time, that the
log cannot be pushed by mistake, and that each log entry does not have
to have its predecessor as parent (it will always have the current
main configuration commit as parent instead)
let the user override options when using the github and gitorious shortcuts
fix loading the overrides from the package set's source.yml