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>
I'll add a comment to the code in a few minutes, but in the meantime... I noticed that when a file is modified the owner dir's metadata is modified too.  Which means in the case of Dockerfile being modified (and its in the .dockerignore), the command: ADD . /tmp   would cause a cache miss because the hashcode of the source files would change. So skipping dirs in the hash calc would prevent this. I think, at the time, this wouldn't be an issue because any sub-files would be examined and all would be ok.  However, thinking about it more.... I think this would result in us skipping empty dirs in the hash calc and that would be bad.  This may mean people will need to deal with these cache misses....  need to think more about this.