move charm.go from testing to charm/testing
Fix data races in state/apiserver tests
Merge remote-tracking branch 'origin/master' into 004-move-testing-charm

Conflicts:
	charm/bundle_test.go
charm: fix tests
Merge remote-tracking branch 'origin/master' into 004-move-testing-charm
state/apiserver: use charmtesting
Merge pull request #40 from rogpeppe/004-move-testing-charm

This is a prereq to pulling the charm package out of core.
Merge pull request #47 from axw/apiserver-test-race

Fix data races in state/apiserver tests
ActionResult captures the output and state of an action

test new Action.Fail() functionality

Add some tests for Action.Complete()
Updates per review from @mjs
Add ActionResultsForUnit and ActionResultsForAction to better manage specific prefixes for filtering
Add comments to explain structure of Action.Id() and ActionResult.Id()
use errors.Errorf instead of fmt.Errorf
Merge pull request #33 from johnweldon/action_results

*Action Results* in the State
==

An Action can now be `Fail()`'ed or `Complete()`'ed, and the relevant output will be stored in the `actionresults` collection in the juju db in mongo.

The reason, or the output will be written to the `ActionResult`, along with the details of the `Action`.

The prefix of the `ActionResult.Id()` will also encode the `Action.Id()` from which it was generated (which itself encodes the `Unit.globalKey()` that the `Action` was queued for.
update contributing to put the godeps at the top

The godeps stuff was at the bottom, which is unfortunate, because it needs to be done before you do almost anything else.  Moved it up just before "Working" to keep it in chronological order.
Fix a non-deterministic test bug

Test was relying on map order.
Remove instance.(Wait)DNSName

Because we don't need them, and I'm sick of seeing them.
Merge pull request #38 from axw/remove-instance-dnsname

Because we don't need them, and I'm sick of seeing them.

Also, drive-by fix for a non-deterministic test that fails with Go 1.3 beta 2.
Cleaner agent status reporting

Machine and unit agent status is now reported under a separate "Agent"
struct. For compatibility reasons the existing agent status fields
have been left as is (but will eventually be removed). StatusData was
moved and only exists under Agent because it was recently added and
didn't make it in to any Juju release yet - there's no reason to
maintain backwards compatibility for that field.

If API versioning lands soon I will revisit this and remove field
duplication.

The main driver for this change is to allow clients to to easily
access the original status and info after the API has set the status
to StatusDown and munged the info string. These will be used by the
command line client in a later PR.
Merge pull request #51 from mjs/cleaner-agent-status

Machine and unit agent status is now reported under a separate "Agent"
struct. For compatibility reasons the existing agent status fields
have been left as is (but will eventually be removed). StatusData was
moved and only exists under Agent because it was recently added and
didn't make it in to any Juju release yet - there's no reason to
maintain backwards compatibility for that field.

If API versioning lands soon I will revisit this and remove field
duplication.

The main driver for this change is to allow clients to to easily
access the original status and info after the API has set the status
to StatusDown and munged the info string. These will be used by the
command line client in a later PR.