archive_read_open and archive_read_open2 (incomplete)
incomplete callback support (read, close)
properly keep the reference around so that it doesn't
get deallocated while libarchive is still using it.
callback fixups
be a little less repititious
pass in archive as first argument to callback