Have .dockerignore support Dockerfile/.dockerignore

If .dockerignore mentions either then the client will send them to the
daemon but the daemon will erase them after the Dockerfile has been parsed
to simulate them never being sent in the first place.

Closes #8330

Signed-off-by: Doug Davis <dug@us.ibm.com>
@duglin it occurred to me another reason this is less than nice, is the reproducibility of the checksum. As soon as the tar archive stream has had selective files removed from it, then that means state that ought to be carried outside of the archive. This case makes sense for `docker build` and having the .dockerignore always present. But for image layers, that is not the case. The list of excluded files really ought not exist for image layers.