bug fix for lp:1212538
Merge pull request #268 from mattyw/check-machine-before-deploy

fix for lp:1212538: cmd/juju: deploy --to a non existent machine fails too late in the process

https://bugs.launchpad.net/juju-core/+bug/1212538.

There was already a test for the behaviour of deploying to a machine that didn't exist. But it was passing for the wrong reasons.

Currently deploying to a machine that doesn't exists still creates the service in the environment - but it won't be deployed- even when the correct machine id is added.

This fix will prevent a service being deployed if the machine doesn't exist.

Only applies if using the "--to" flag
Uniter API now has WatchActions

This commit adds state/api and state/apiserver endpoints for
WatchActions.
Added extra bits to api/uniter TestWatchActions
apiserver uniter_test TestWatchActions now ensures that the watcher has appropriate results when actions go through
WatchActions no longer discards events
Extra tests on api/uniter WatchActions
Removed spurious WatchActions test
Addressed extra test cases
Testing preexisting Actions case
Now parses unit tag directly
ActionsWatcher now retrieves pending Action ids in the initial event.
Fixed behavior of state/api/uniter test to reflect new Action query.