Layered git branches

Extract each image layer in a git branch

Using the `-g` flag, the rootfs destination folder will be a git repo where each branch matches a layer. Each branch (layer) is the result of a `checkout -b` on the previous branch (layer). It allows:
* to see diff between layers
* git based version control of an image
* in a near future, will allow to push an image on the Docker Hub the same way docker does (might change the project name then)

TODO before merging
* add readme info on this feature
* cleanup + more readable errors