Feature dist (bis)

This is a refacto of #804 from @till.

It adds the ability to create zip/tar archives from sources.

The main differences with the initial PR:

- It uses a separate directory, named `Archiver` instead of `Dumper`, because as @Seldaek [said](https://github.com/composer/composer/pull/804#discussion_r1049991), it has nothing to do with `ArrayDumper`
- It uses a manager which have the main function `archive($package, $format)`, which will use its own archivers, so no code is duplicated
- We first try to use VCS archivers (git & hg archive commands). If the VCS is not able to archive a package (for instance svn or any future VCS which could be added to Composer), then it uses standard tar/zip archiver (which archive a directory no matter the source type).

I preferred to start from `master` because the initial PR started to have to much dummy commits, but I credited @till in the sources ;)