Introduce apt-mirror config attribute

And propagate it through to environs/cloudinit.
cloudinit/sshinit: configure apt mirror

sshinit is updated to rewrite APT sources
if a mirror is specified. We perform the
same actions as cloud-init would perform,
but via shell commands instead of using
cloud-init directly.
apiserver/uniter: Fix TestAllMachinePorts on gccgo

Change port range related apis to return the results in sorted order.
This fixes a failing test when compiled with gccgo which was relying
on the insertion sort order of golang-go when checking results.
Merge pull request #898 from bz2/test_all_machine_ports_1379708

apiserver/uniter: Fix TestAllMachinePorts on gccgo

Change port range related apis to return the results in sorted order.
This fixes a failing test when compiled with gccgo which was relying
on the insertion sort order of golang-go when checking results.

http://reviews.vapour.ws/r/162/
Merge pull request #893 from axw/lp1364200-aptmirror-config

Introduce apt-mirror config

We introduce a new apt-mirror config attribute, and propagate
it through to environs/cloudinit. Bootstrap machines and manually
provisioned machines are configured using the updated cloudinit/sshinit,
and other machines are updated using the standard apt_mirror cloudinit
config.

Fixes https://bugs.launchpad.net/juju-core/+bug/1364200

http://reviews.vapour.ws/r/157/