environs/cloudinit: use actual tools version in bootstrap agent.conf

The upgradedToVersion field in the bootstrap machine agent's config
will now match the tools version that's it's going to use, instead of
the version of the client. This avoids unnecesarily triggering
upgrades at bootstrap time (fixing bug #1358078).
provider/manual: return hardware characteristics

StartInstance is updated to construct hardware
characteristics based on the node object returned
by MAAS in the result of "acquire".

We also fix StartInstance to use the architecture
of the acquired node to choose the appropriate
tools. We will acquire a node with an arbitrary
architecture unless specified, but we will now
guarantee correct tools.

Fixes https://bugs.launchpad.net/juju-core/+bug/1193998
Fixes https://bugs.launchpad.net/juju-core/+bug/1303853
provider/azure: custom data test needs to provide a real tools version

...now that MachineConfig.Tools is used to populate upgradedToVersion
in the initial agent.conf.
Merge pull request #535 from mjs/1358078-avoid-upgrade-with-bootstrap-upload-tools

environs/cloudinit: use actual tools version in bootstrap agent.conf

The upgradedToVersion field in the bootstrap machine agent's config will now match the tools version that's it's going to use, instead of the version of the client. This avoids unnecesarily triggering upgrades at bootstrap time (fixing bug #1358078).
Address review comments, update test
provider/maas: don't use args.Tools.OneSeries in match
Merge pull request #536 from axw/provider-maas-hardwarecharacteristics

provider/manual: return hardware characteristics

StartInstance is updated to construct hardware
characteristics based on the node object returned
by MAAS in the result of "acquire".

We also fix StartInstance to use the architecture
of the acquired node to choose the appropriate
tools. We will acquire a node with an arbitrary
architecture unless specified, but we will now
guarantee correct tools.

Fixes https://bugs.launchpad.net/juju-core/+bug/1193998
Fixes https://bugs.launchpad.net/juju-core/+bug/1303853