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
please always use selects with a timeout of coretesting.LongWait in these situations -- it means we get failures instead of hung tests when someone accidentally breaks it ;)