Handle compressed tars in ApplyLayer

When pulling from a registry we get a compressed tar archive, so
we need to wrap the stream in the right kind of compress reader.

Unfortunately go doesn't have an Xz decompression method, but I
don't think any docker layers use that atm anyway.
Tidy up some of the error messages from apt during build
archive: Re-add XZ compression support

This shells out to the xz binary to support .tar.xz layers, as
there is no compression/xz support in go.
Handle external mounts outside of lxc
Fix unmount issues
Improve interface by moving to subpkg

Enable builds on OSX
Add new "cross" bundle to cross-compile the Docker client for other platforms (currently just 32-bit and 64-bit OS X)
Merge pull request #3276 from tianon/cross-compile

Add new "cross" bundle to cross-compile the Docker client
Merge pull request #3243 from alexlarsson/compressed-tar

Handle compressed tars in ApplyLayer
Merge pull request #3271 from crosbymichael/mount-outside

Perform docker specific mounts outside of lxc
Added some more items to the FAQ
Merge pull request #3284 from jamtur01/faqmore

Added some more items to the FAQ
add gosqlite to vendor.sh

Add gosqlite and its latest revision to vendor.sh so that the vendor
directory can be reliably recreated.
Merge pull request #3283 from jpoimboe/update-vendor.sh

add gosqlite to vendor.sh
Add Tianon as Makefile maintainer
Merge pull request #3288 from tianon/makefile-maintainer

Add Tianon as Makefile maintainer
Merge pull request #3244 from codeaholics/remove-apt-errors-during-build

Tidy up some of the error messages from apt during build
Allow host networking for containers