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.

NOTE: Already approved as http://reviews.vapour.ws/r/112/.
This PR just re-targets the branch against juju:master