[WIP] uniter: open-port and close-port accept ranges

Hook tools "open-port" and "close-port" changed to accept
both "<port>[/<protocol>" and "<from>-<to>[/<protocol>]".
Uniter hook context changed to call unit.OpenPorts and
unit.ClosePorts. Added more tests and better validation.

When this lands, charms can start opening and closing
port ranges instead of single ports.

WIP: For early review and approval; This cannot land
before its parent is merged into juju:master