Inject dockerinit at /.dockerinit instead of overwriting /sbin/init

This makes it possible to run /sbin/init inside a container.

We need to create an empty /.dockerinit in the container because the mountpoint must exist. But we don't want to cause side effects by leaving behind a .dockerinit. So we create a special aufs layer with just that empty file, and share it among all the containers. For internal purposes that layer is called the "docker init layer", and is stored inside the _tmp area, to get out of the way of regular layers (we don't want it showing up in 'docker images', etc).