state: implement Machine.SetMachineBlockDevices
Refactor Actions to use UUID instead of Sequence

First step in process of consolidating Actions and ActionResults.
Also part of exposing UUID to end clients rather than the Sequence
id that was not guaranteed to reflect order of enqueing.

A couple of other tweaks to avoid calling code that might panic in
non testing code.
state: add test for block devices
address review feedback
Merge pull request #1139 from axw/state-machine-setblockdevices

state: implement Machine.SetMachineBlockDevices

Next step is to enable the diskmanager in machine
agents, at which point block devices on the machine
will be periodically recorded in state.
Limit collect-metrics hook to fire only on charms that have metrics declared.
Merge pull request #1142 from tasdomas/filter-collect-metrics-hook

Limit collect-metrics hook to fire only on charms that have metrics declared.

Currently when in debug-hooks mode, the collect-metrics hook will be executed periodically (even when the charm has no metrics-collect hook script) - this is annoying to charm developers.
Fix test
Merge pull request #1140 from johnweldon/1-action-sequence-to-uuid

Refactor Actions to use UUID instead of Sequence

First step in process of consolidating Actions and ActionResults.
Also part of exposing UUID to end clients rather than the Sequence
id that was not guaranteed to reflect order of enqueing.

A couple of other tweaks to avoid calling code that might panic in
non testing code.