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
comment on `Insert: portsDoc{Id: id, Ports: ports},` just above:

We can't do this: it's got an explicit TxnRevno field. It's not our job to write that, and could have undefined effects in mgo/txn.