WIP: Port ranges provider support

Working on https://bugs.launchpad.net/juju-core/+bug/1337817 - enabling port range support in juju-core. This branch modifies the provider interface and its implementations to handle port ranges. They are silently converted into old-style port slices on the firewaller. Port range support in the firewaller is still in progress.
Unless there's some value to be derived from knowing which range a port is part of in the Azure GUI (I can't think of a reason), then I'd rather we left the name as it was before. I'm not sure if there's any consequences of changing the name in an upgraded environment.