Returns the URI path split into its segments. Each of the segments in the
returned list have been decoded. If the path is empty the empty list will
be returned. A leading slash /
does not affect the segments returned.
The returned list is unmodifiable and will throw UnsupportedError on any calls that would mutate it.