Port range support in the firewaller.

The firewaller watches the openedPorts collection, the ports field on units is no longer updated.

This work fixes https://bugs.launchpad.net/juju-core/+bug/1337817
fw.openedPortsChanged(portId) returns an error. Please handle it or and a justification not to as a comment.