Backwards compatible archive processing

:fork_and_knife: 

In order to migrate all data from the community site (and, technically, to remain backwards compatible with it), Supermarket needs to understand how to process more than just GZipped tarballs. This PR uses [libarchive](http://rubygems.org/gems/libarchive) so that Supermarket can process all existing cookbook archives. It also modifies the process by which a cookbook's metadata is found to support some backwards-compatible quirks, such as cookbooks which have metadata in file named "metadata.json.txt"

Once Supermarket is officially launched, this code can likely be modified to be more restrictive, or just reverted outright. But right now it'd be nice to just get everything migrated over.

The libarchive gem requires the `libarchive-dev` package to be installed on Ubuntu, so this PR is blocked by an update to the Supermarket cookbook. However, I think this code is ready to be reviewed.