Feat/format warc

This changeset provides support for ISO 28500 archives (aka [The WARC File Format][1]), as produced for instance by `wget --warc-file=...`

The idea is to be able to use proven tools (i.e. libarchive) and a known workflow to operate on those archives.  

While there are dedicated tools ([warc-tools][2]), [hanzo-warc-tools][3], etc.) their usability is highly questionable: For example the author of this changeset couldn't decide between the 2 mentioned tool sets; the C variant looked a lot more robust and functional than the python variant and yet the C variant has been declared obsolete already, while the python tool set does not even offer a means to extract one particular file.

This changeset is by no means complete and fail-safe (especially not tested under non-unix environments) but it should give anyone who's interested a good starting point.

  [1]: http://bibnum.bnf.fr/warc/
  [2]: https://code.google.com/p/warc-tools/
  [3]: http://code.hanzoarchives.com/warc-tools
nrd < 12 should be impossible.   archive_read_ahead guarantees that it will return NULL if it cannot satisfy the minimum requested.

A common pattern:
 * Call archive_read_ahead with a minimum length (e.g., "every valid header is at least 12 bytes")
 * Inspect the data and determine how long the header really is
 * Call archive_read_ahead again with a  longer length

archive_read_ahead can be called multiple times with longer requests; it will just keep extending the available data.  Note that it might have to move the data around in memory to keep it contiguous, so use offsets to intermediate bits, not pointers.