Checkpoint for collaboration

The leadership service endpoints have been defined so that others can begin writing against the API. Currently everything else is stubbed out.
Merge branch 'master' into leadership
Regenerate state server certificate to update SAN attribute with machine IP addresses
added support for setting metric credentials on the service

removed credentials from metric to metricBatch
Addresses are added to certificate, and consistency checks required when saving
renamed updatemetriccreds to set, added test, other review comments
Implemented changes from reviews.

- Mostly godoc tautological comments.
- Reorganized imports.
- Moved params from apiserver/leadership to apiserver/params namespace.
- Removed bulk oriented calls from client API as they are not yet needed.
- Annotated errors from making facade calls in the client API.
- Now checking that stubbed-out functions are being called.
- Now checking that service and unit tags are correct.
- Cleaned up error messages.
- Upon starting, the lease manager was not checking existing leases for expiration.
- Giving the lease expiration test slightly more wiggle-room in regards to timing.
- Added TODO in state.go to reflect that leasemanager should eventually be peeled off.
- Added tests to the apiserver layer to test authorizer errors.
No need to store sevrer cert in state - it is generated on each state server
Added unit-tests for authentication.

There were previously no unit-tests for the apiHandler which provides authentication for most service endpoints. These tests were previously implicit in the full-stack integration tests which were usually performed.
Turns out we need to store initial state server cert in state so HA works
Add WaitForReady function
Initial test
Test timeout
Reduce timeout in test
Test WaitUntilReady passes errors through
Switch to using WaitUntilReady for backups
Handle connection refused errors
Minor test fixes
Merge branch 'master' into backup-replicaset
Test fix