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.
Please add some commentary here to discuss the conditions this method handles.

ie. a overlaps b partially, a is completely within b, a encompases b, a and b are the same range, etc