Update port conflict checker to distinguish between conflicts and exact matches.

This is a fix for #1359837 (https://bugs.launchpad.net/juju-core/+bug/1359837).

Opening a port that is already open should not result in an error.
This line is getting a bit too long for my taste, so how about:
```go
} else if existingPortsDef.UnitName == portRange.UnitName &&
      existingPortsDef.CheckConflicts(portRange) == ErrPortsConflict {
...
}
```