upgrades: migrate uploaded image metadata to environment storage

We no longer search for image metadata in provider storage.
This is the final piece: migrate existing metadata from provider
storage to environment storage, preserving paths and data exactly.
Add tools-stream config to allow tools from different streams to be used
Merge pull request #797 from axw/upgrades-image-metadata

upgrades: migrate uploaded image metadata to environment storage

We no longer search for image metadata in provider storage.
This is the final piece: migrate existing metadata from provider
storage to environment storage, preserving paths and data exactly.
Fix yucky code
Add deprecation warning
provider/openstack: don't fail if product-streams isn't defined

Fixes https://bugs.launchpad.net/juju-core/+bug/1371605
Merge pull request #809 from axw/lp1371605-provider-openstack-keystoneurl

provider/openstack: don't fail if product-streams isn't defined

Fixes https://bugs.launchpad.net/juju-core/+bug/1371605
Merge pull request #805 from wallyworld/tools-stream

Add tools-stream config to allow tools from different streams to be used
Add tools datasource registration framework
Remove provider storage from tools search path

Also, register OpenStack keystone search path for tools.
Revert name change
Fix azure, local, maas provider
Fix ec2 tests
Fix dummy, joyent provider tests
Fix more tests
Fix tools tests

Now we upload tools to the default tools
location (as if we controlled the public
tools container), rather than to provider
storage.
Address review comments
Remove stray line
Several fixes to avoid building jujud in tests
More fixes after rebasing