Provision new instances with version.Current

New instances were being provisioned with the agent-version from the
environ config instead of the currently running tools version. This
meant that there was a risk of new instances not running upgrade steps
if a juju upgrade occurred around the same time as the instance was
provisioned.
worker/apiaddressupdater: clarify docs
worker/peergrouper: don't call SetAPIHostPorts unless changed

We're spamming the transaction log with SetAPIHostPorts
transactions even when the addresses have not changed.
This change stops that from happening.

Fixes https://bugs.launchpad.net/bugs/1345832
Precreate the txns collection at the same time as the txn.logs collection
Merge pull request #383 from fwereade/provision-current-version

Provision new instances with version.Current

New instances were being provisioned with the agent-version from the
environ config instead of the currently running tools version. This
meant that there was a risk of new instances not running upgrade steps
if a juju upgrade occurred around the same time as the instance was
provisioned.
Merge pull request #388 from wallyworld/precreate-txns-collection

Precreate the txns collection at the same time as the txn.logs collection

We pre-create the txn.logs collection when connecting to mongo the first time. 
This change also ensures we create the txns collection as well.
Merge pull request #389 from axw/lp1345832-nochange-nosetapihostports

worker/peergrouper: don't call SetAPIHostPorts unless changed

We're spamming the transaction log with SetAPIHostPorts transactions even
when the addresses have not changed. This change stops that from happening.

Drive-by improvement to apiaddressupdater doc comments, which
were wrong and unhelpful.

Fixes https://bugs.launchpad.net/bugs/1345832