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
Add more windows series

* Add windows 7, 8 and 8.1 to supported series
* get windows product name from registry instead of powershell commandlet
move test setup into setup/teardown phase
wip
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
Merge branch 'master' of https://github.com/juju/juju into 119-version-tests
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
Modified config file to create all-machines.log with 0600 permissions.
juju/testing: do not tear down connection if setup fails
More fixes
Merge pull request #232 from katco-/b1286518-log-perms

Modified config file to create all-machines.log with 0600 permissions.

https://bugs.launchpad.net/juju-core/+bug/1286518
responding to review feedback
Merge pull request #233 from davecheney/126-do-not-close-state-and-apiserver-connections-if-setup-fails

juju/testing: do not tear down connection if setup fails

Our test suite helpers are a double edged sword. They tend to expect the best, and blow up when the worst happens. This change is an example of this, if the setup phase failed, then what was a c.Assert("couldn't talk to mongo") becomes a panic when the tear down phase tries to close a connection which was never opened.
Merge branch 'master' of https://github.com/juju/juju into 119-version-tests
Responding to review feedback