added service api facade

added comments in client facade noting functions that should be moved to
the service facade

added service api client
fixed review comments
drop Uniter.service field
Move add and remove machine to subcommands.
more fixes from reviews
Tweak imports.
extract relations operations into their own type (although not yet their own *Operations*)
Merge branch 'master' into uniter-relation-ops
bump service facade version
define Relations interface
provider/ec2: break out some of the functionality in to seperate files
Merge master.
Test for blocked error.
test tweaks
Merge pull request #1289 from howbazaar/machine-command

Move add and remove machine to subcommands.

Add a subcommand for "machine", and move "add-machine" and "remove-machine" in to it.

Automatically deprecated aliases are added for the existing "add-machine" and three different variants of "remove-machine" to point to the new subcommands under "machine".

The tests for the machine subcommand completely mock out the API.

There is one test for each command in cmd/juju/machine_test.go that shows things are hooked up.
I did check that the api server has exhaustive checks around both add and remove machine already.

(Review request: http://reviews.vapour.ws/r/603/)
Merge pull request #1293 from wwitzel3/ww3-ec2-move

provider/ec2: break out some of the functionality in to seperate files

Only code change was with respect to the boilerplate for the config.
Otherwise this is just renaming and reorganizing of the ec2 provider code.
This is the first steps to making it more like the other provider implementations.

(Review request: http://reviews.vapour.ws/r/607/)
fix potential double-config-changed race
Merge pull request #1252 from mattyw/add-metric-credentials-api

Added service api facade

Added a service facade to the api. Current only implements setting metric credentials. Eventually service specific calls from the client should be moved here

(Review request: http://reviews.vapour.ws/r/563/)
Merge pull request #1292 from fwereade/uniter-relation-ops

further slim down Uniter

* dropped the .service field, which is used in a single call, at most once per run
* moved relationers and relationHooks behind new Relations interface

This is a straight refactoring and as such does not involve any new tests; I don't feel great about that, but I think  it's better to land it now and leave it exactly as badly tested as before than to spend more days putting everything in a perfect state.

(Review request: http://reviews.vapour.ws/r/606/)