make scratch a special case for build and pull

This commit makes `from scratch` a special case for `docker build` and
it makes Docker not pull the image with the scratch ID.

In both cases, it will just create an empty image with the same ID if
it doesn't exist already.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)