Updated: now use metaclass to find the decompressors

The main idea is to automatically find all the classes that may be used
to decompress archives.

What has been done:
- MetaArchive register all new decompressors automatically
- guesser is no more a simple module but a class that provide an open()
  method and use a specific set of decompressors
- The guess() method is split in 2 methods: guess() which only guess the
  next compression type and open an archive on it, open() which loop
  until no guess can be found anymore
- Mimes and extensions are now defined in the decompressor class
  themselves. Also it can be more specific if you overwrite __guess__()
- More comments
- Compatibility Python-2.6 preserved

TODO:
- External pipe should check the availability of the command by checking
  the existence of the command defined in the decompressor class
- __guess__() should raise instead of returning None
- the small hack in test_20_guesser is annoying, maybe I should make a
  flag to prevent the global registration
Updated: __checkavailability__ and __guess__ now raise errors

Instead of returning special values, __checkavailability__ and __guess__
now raise errors that can be catch.

Also, a generic way to check the availability of the decompressor that
inherit from ExternalPipe has been made by looking for the executable.
Updated: compressions attribute of Archive moved to class attribute

- It's easier to have the compressions attribute in the class directly
  instead of the __init__ arguments
- Get rid of the hack in test_20_guesser.py
- Make Un7z looks similar to ExternalPipe to be able to use the
  __checkavailability__
(Useless commit to preserve the history)
Updated: test of decompressors more generic
Fixed: should be a ValueError... I guess...
Updated: tests: check decompressor availability
Added: xz test
Fixed: 7z decompressor and make tests
Updated: decompressors tests numeration

10 = basic test
20 = external pipe test
30 = single file ArchivePack
40 = multiple files ArchivePack
Removed: compatibilty file in tests
Updated: small replacement with gzip
Fixed: zip decompressor and add test
Added: bz2 decompressor and add test
Added: priority in decompressors resolution