Move archive package to pkg

This pull request moves the `archive` package into `pkg/archive` so that it may cleanly be used in other projects.  In order to do so, a few functions (not specific to Docker internals) were moved from `utils` to their own packages in `pkg`.

The motivating use case for this (though I'm sure there are many others) is [this pull request](https://github.com/fsouza/go-dockerclient/pull/157), to the 
Go Docker client, which creates the tar stream for the user for build commands.  To make that pull request work, I had to do a LOT of copy/pasta from `archive`, and since **`archive` is an amazing and wonderful package that needs to be available to the world** (no sarcasm), now seemed like a good time to move it to `pkg/archive`