Deterministic ordering of port ranges in GetMachinePorts.

Order was dependent on map key ordering. Broken in Go 1.3+
Initial commit of interface declaration
Stub ReleaseAddress method on all providers
Change error type
Change error type for local and manual providers
Implementation of ReleaseAddress for dummy provider
Test
Initial implementation of release addres for maas
Remove outdated comments
Merge branch 'environ-releaseaddress' into releaseaddress-maas
Merge pull request #1180 from voidspace/environ-releaseaddress

Add Environ.ReleaseAddress with dummy implementation

Environ.ReleaseAddress releases an ip address previously allocated using Environ.AllocateAddress. This adds it to the interface along with a simple dummy implementation.

(Review request: http://reviews.vapour.ws/r/491/)
Test
Change ip to IP
Merge pull request #1177 from cmars/cmars-004-firewaller-mapfix

Deterministic ordering of port ranges in GetMachinePorts.

Fix intermittent failures in apiserver/firewaller caused by map key order dependence.

(Review request: http://reviews.vapour.ws/r/488/)
Merge pull request #1181 from voidspace/releaseaddress-maas

Implementation of Environ.ReleaseAddress for maas

Implementation of maas provider. Release an ip address previously allocated with AllocateAddress.

(Review request: http://reviews.vapour.ws/r/492/)