Add state/address.go for data describing machine addresses
worker/uniter/charm: use ioutil.TempDir and correct Time.Format directive
Use Address.Value rather than name as suggested by fwereade in review and use NetworkScope type
Added tests and ensured StringsWatcher does not drop events.
Changes after review
Add trivial test module so Address types are exercised
[r=gz] Add state/address.go for machine location data

Add data structure for describing machine addresses. This is the
first step towards deprecating PublicAddress and PrivateAddress
in unitDoc and storing a list of addresses in machineDoc instead.

The structure uses a single field that may contain either a hostname
or an address. The plan is for a New constructor to correctly flag
the type of location.

https://codereview.appspot.com/11284044/

R=fwereade, jameinel
[r=rogpeppe] worker/uniter/charm: fix temp dir

Fixes https://bugs.launchpad.net/juju-core/+bug/1197369 .

I'm not sure whether the time stamp is actually necessary,
so I've left it as designed. It seems that the directory is
never actually removed, so that's probably a reasonable
rationale for that.

https://codereview.appspot.com/11290043/
Fix the azure provider.
Typo.
Review fixes.
Changes after review
Changes after review
[r=rvb] Azure provider: add state file URL
Changes after review
Merge trunk
Fixes after last changes
[r=dimitern] state/api/watcher: Client-side watchers improved

This branch fixes an issue with StringsWatcher at
client-side: it was possible to drop events if you
do not keep reading constantly. Now they get queued
up and arrive in the order delivered when reading.
Added a test as well.

Also, as a drive-by fix: there was a possibility for
deadlocking in both StringsWatcher and NotifyWatcher
when trying to close it while there is an event waiting
to be read. Added tests for these cases as well and
verified that without the fix deadlocks are indeed
triggered.

https://codereview.appspot.com/11506043/

R=fwereade, rogpeppe