Added powershell helpers

* this file contains a powershell and .NET blob needed for generating windows specific userdata
state/api/agent: Entity stores a names.Tag internally
state/api/machiner: store a names.Tag internally
more string -> names.Tag
more string -> names.Tag
remove another must method
remove another must method
remove another must method
Fix bug #1333098. Concurrent access to the objectCache needs to be protected by a mutex.

While there, I discovered a difference race condition in the api Watcher code.
So I fixed that in passing.

The new test fails if you run under '-race', and the tests in cmd/jujud/*TestMachineAgentRsyslog* used
to fail with the race detector and now pass.
all api life methods take names.Tag
Added tests for UTF-8 validity of option values.
Fix compiler crash
gofmt
Merge pull request #151 from davecheney/113-fix-gccgo-crash

Fix compiler crash
environs/instances: expose getMatchingInstanceTypes

The azure provider has some custom instance-type
matching code which can be made to use this function
if it's exposed.
make the WaitGroup a local var, which leaves the tests passing, and avoids the possible race condition.
Merge pull request #148 from axw/environs-instances-matchinginstancetypes

environs/instances: expose getMatchingInstanceTypes

The azure provider has some custom instance-type
matching code which can be made to use this function
if it's exposed.

Also, move instance-type constraint matching into `MatchingInstanceTypes` and friends, simplifying `FindInstanceSpec`.
Merge pull request #145 from davecheney/111-api-params-takes-tag

params.Entity preparations

This PR is a grab bag of changes aimed at isolating all the places where we pass a string to params.Entity and convert them into taking a names.Tag. 

This PR isn't complete, there is still more work to be done before params.Entity.Tag can be made into a names.Tag, but it is a good checkpoint as it gets rid of all the mustParseXXX methods added in a previous PR.
Merge branch 'master' of https://github.com/juju/juju into 112-state-life-takes-a-tag
state methods take a tag as a string, not an id