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>
pinging @crosbymichael @jessfraz for merge

> On Dec 15, 2014, at 11:56 AM, Doug Davis <notifications@github.com> wrote:
> 
> In daemon/graphdriver/aufs/aufs.go <https://github.com/docker/docker/pull/8748#discussion-diff-21851657>:
> 
> > @@ -300,8 +300,8 @@ func (a *Driver) Put(id string) {
> >  func (a *Driver) Diff(id, parent string) (archive.Archive, error) {
> >  	// AUFS doesn't need the parent layer to produce a diff.
> >  	return archive.TarWithOptions(path.Join(a.rootPath(), "diff", id), &archive.TarOptions{
> > -		Compression: archive.Uncompressed,
> > -		Excludes:    []string{".wh..wh.*"},
> > +		Compression:     archive.Uncompressed,
> > +		ExcludePatterns: []string{".wh..wh.*"},
> note, per vbatts suggestion, I renamed Excludes to ExcludesPatterns - which is why this diff shows up.
> 
> —
> Reply to this email directly or view it on GitHub <https://github.com/docker/docker/pull/8748/files#r21851657>.
>