Merge pull request #3189 from aknikitin/patch-1

Minor spelling fix
Merge pull request #3190 from zain/master

Small typo fixes
dockerinit: put args in a struct
dockerinit: refactor error handling
dockerinit: drop capabilities

Drop capabilities in dockerinit instead of with lxc utils, since
libvirt-lxc doesn't support it.

This will also be needed for machine container mode, since dockerinit
needs CAP_SYS_ADMIN to setup /dev/console correctly.
move tag to job
Merge pull request #3015 from jpoimboe/dockerinit-libvirt-prereqs

dockerinit: drop capabilities
Merge pull request #3185 from vieux/job_tag

Move tag to job
dockerinit: set hostname

Set the hostname in dockerinit instead of with lxc utils.  libvirt-lxc
doesn't have a way to do this, so do it in a common place.
dockerinit: set IP address

Set the IP address in dockerinit instead of lxc utils, to prepare for
using libvirt-lxc.
dockerinit: propagate "container" env variable from lxc

Lxc (and libvirt) already set the "container" env variable
appropriately[1], so just use that.

[1] http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface/
Fix typos in Vagrantfile
Merge pull request #3192 from unclejack/update_virtualbox_guest_additions

vagrant: update & verify virtualbox guest tools
archive: Implement ApplyLayer directly

Rather than calling out to tar we use the golang tar parser
to directly extract the tar files. This has two major advantages:

1) We're able to replace an existing directory with a file in the
   new layer. This currently breaks with the external tar, since
   it refuses to recursively remove the destination directory in
   this case, and there are no options to make it do that.

2) We avoid extracting the whiteout files just to later remove them.
Fix change detection when applying tar layers

The default gnu tar format has no sub-second precision mtime support,
and the golang tar writer currently doesn't support that either.
This means if we export the changes from a container we will not
get zeron in the sub-second precision field when the change is applied.

This means we can't compare that to the original without getting a
spurious change. So, we detect this case by treating a case where the
seconds match and either of the two nanoseconds are zero as equal.
Re-enable TestApplyLayer

With the previous two changes we now pass this test.
Add -bip flag: allow specification of dynamic bridge IP via CIDR

e.g.:

```
docker -d -bip "10.10.0.1/16"
```

If set and valid, use provided in place of trial and error from pre-defined array in network.go.
Mutually exclusive of -b option.
Merge pull request #3151 from tianon/more-debootstrap-tweaks

Update mkimage-debootstrap with even more tweaks for keeping images tiny...
Merge pull request #3202 from jpoimboe/libvirt-prereq-env

dockerinit: propagate "container" env variable from lxc
Merge branch 'libvirt-prereq-network' of https://github.com/jpoimboe/docker