Draft implementation of autoproj-commit feature

These commits provide a draft implementation of the autoproj-commit feature, as discussed on the mailing list.

Following features are added to autoproj:
* support for an overrides.d directory, which can contain multiple override files. These files are loaded in alphabetical order, and entries in each file can override definitions of previous files.
* implementation of autoproj commit command. This command will record the current head of a package selection (either selected manually, or all packages), and store them in a file in the overrides.d. The file in overrides.d is checked for existing entries, and will be updated according to the selection.

So, when performing an autoproj-commit, all packages will be pinned to the current checked out versions.

Things to do:
- autoproj snapshot may be broken
- package-sets handling is probably not working
- autoproj-commit should get a feature to automatically create a commit in the build-conf.git 
- procedure for "upgrades" to either master or new distribution should be defined