Reaplaced os.Symlink and os.Readlink

symlinks are not supported by standard go os package on windows. Replaced all instances of os.Symlink and os.Readlink with the implementation in github.com/juju/utils/symlink. On linux these functions simply call os.Symlink and os.Readlink. On windows they use our implementation
Merge pull request #223 from gabriel-samfira/replace-std-symlink

Reaplaced os.Symlink and os.Readlink

Symlinks are not supported by standard go os package on windows. Replaced all instances of os.Symlink() and os.Readlink() with symlink.New() and symlink.Read(). On linux these functions simply call os.Symlink() and os.Readlink(). On windows they use our implementation
all: vet, fix unreachable errors
fix spurious report of passing a lock (embedded in the struct value) by value
gofmt
Merge pull request #228 from davecheney/123-fix-vet-unreachable-errors

all: vet, fix unreachable errors

Fix a bunch of simple vet errors obscuring some more important ones.
update goose dependency, fix lp 1336634
Merge pull request #231 from davecheney/125-update-goose-dependency-fix-lp-1336634

update goose dependency, fix lp 1336634