Fix stat/lstat error checking in a few places.

closes #6929. Please review.
One of the integration tests fail when I remove the stat call:

```
--- FAIL: TestBuildWithInaccessibleFilesInContext (0.20 seconds)
        docker_cli_build_test.go:449: build should have failed: %!s(<nil>) Sending build context to Docker daemon 3.072 kB
                Sending build context to Docker daemon
                Step 0 : FROM busybox
                 ---> 00e4a97ecf64
                Step 1 : ADD . /foo/
                 ---> f01b57f1d856
                Removing intermediate container 891a49405811
                Successfully built f01b57f1d856
```

I think that’s a good argument to keep it in. :) What do you think?

> On Jul 11, 2014, at 2:40 PM, Erik Hollensbe <github@hollensbe.org> wrote:
> 
> 
> On Jul 11, 2014, at 2:37 PM, Tibor Vass <notifications@github.com> wrote:
> 
> In utils/utils.go:
> 
> > @@ -889,8 +889,8 @@ func ValidateContextDirectory(srcPath string) error {
> >  			return err
> >  		}
> >  		// skip checking if symlinks point to non-existing files, such symlinks can be useful
> > -		lstat, _ := os.Lstat(filePath)
> > -		if lstat.Mode()&os.ModeSymlink == os.ModeSymlink {
> > +		lstat, err := os.Lstat(filePath)
> @erikh well since we error out anyway if it's a symlink, why do we care about whether the symlink points to an existing file or not? I think we could remove the Stat (from lines 887 to 890), and just use Lstat.
> 
>