[refactor] use a namespaced exception for each SPL standard Exception used
[fix] previous commit broken, typo in exception name
[add] three methods to UriInterface: isPathAbsolute() getSegments(), getCountSegments()
Merge branch 'develop'