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
I can't really get on board with this type name. I'd honestly rather call it an OpenedPortsWatcherFactory than mislead by calling it an anything Watcher.

(All else being equal, OPWF is a pretty awful name, I'd love to see one that's both clear and elegant, but I'd rather sacrifice elegance than clarity)