Moved I/O portions of Tar_unix to a functor.

The new Tar.Make functor allows easier integration with libraries like
camlzip by allowing:

module TGZ = Tar.Make(Gzip)
Merge pull request #5 from dra27/functor

Moved I/O portions of Tar_unix to a functor.