state/api/{keyupdater,networker}: use names.Tag

Use tags not strings on api methods.
Initial merge of 1.20 into master
corresponding changes to worker/
Merge pull request #548 from davecheney/182-state-api-use-tags

state/api/{keyupdater,networker}: use names.Tag

Use tags not strings on api methods.
Add extra logging
Merge pull request #549 from wallyworld/merge-1.20

Merge of 1.20 into master

This PR merges 1.20 into master to ensure nothing done for 1.20 has slipped through the cracks. After resolving all conflicts, the only remaining change is the recently committed 1.20 work to make lxc containers copy tools from the file system.
provider/maas: report arch matching tools in tests

The architecture of the instances must match the
architecture of the tools uploaded, which is the
same as version.Current.Arch in the tests.

__fixes-1358768__
Merge pull request #552 from axw/lp1358768-provider-maas-i386

provider/maas: report arch matching tools in tests

The architecture of the instances must match the
architecture of the tools uploaded, which is the
same as version.Current.Arch in the tests.

__fixes-1358768__
New EnvUser

Add:
 - the EnvUser doc
 - support for setting the last login time for the EnvUser
 - factory methods for adding the envuser

Create the Admin EnvUser at bootstrap time.