Add private files support

This implements the private files proposal from:
https://gist.github.com/alexlarsson/c8e3277d2678c1061319

Private files are files stored in `/run/private` in the container. That is a tmpfs that is only visible in the container and the private files are never stored outside the container. For example you can do something like:
```
docker run --private-file api.key:/secret/key image
```
Which will upload the contents of the local /secret/key and create a file called /run/private/api.key in the container with that contents.
    
You can also place a file called `/etc/docker/private.d/api.key` on the machine running the docker daemon to achieve the same thing. This is very useful for host-specific private file, like product entitlements.
    
Private files also work for docker start and docker build, and previous private keys are inherited on docker restart.