state: make InferEndpoints take varargs

Most of the callers, usually the tests, were having to construct a []string, just to satisfy the contract of the method.

Make the method take a varargs ...string which is consistent with other Relation methods.
state: refactor Storage

- State.Storage() no longer returns an error
- state.Storage no longer has a Close method

Resource lifetime is now managed within each
method call. Get is a special case, where the
returned ReadCloser manages the lifetime of
the mgo session (it is closed when the ReadCloser
is closed).
Change state.Storage usage sites
fix comment, add tests
Merge branch 'master' of https://github.com/juju/juju into 198-state-infer-endpoints-takes-varargs
fixed more places where the signature had changed
Merge pull request #735 from davecheney/198-state-infer-endpoints-takes-varargs

state: make InferEndpoints take varargs

Most of the callers, usually the tests, were having to construct a []string, just to satisfy the contract of the method.

Make the method take a varargs ...string which is consistent with other Relation methods.
Merge pull request #784 from axw/state-storage-refactor

state: refactor Storage

- State.Storage() no longer returns an error
- state.Storage no longer has a Close method

Resource lifetime is now managed within each method call. Get is a special
case, where the returned ReadCloser manages the lifetime of the mgo session
(it is closed when the ReadCloser is closed).
Add an owner to state.InitializeState.

Instead of the owner being "admin", it is now whatever
gets passed in.  All existing tests now use a non-admin user
name.  The jujud bootstrap command now takes a name to use
as a command line arg, but it defaults to "admin", which is the
existing behaviour.  A follow-up branch will change the client
side bootstrap command to use the currently logged in user.

Fixed restore, no tests there.