- remove directory segment and instead just have "file" for directories and
files and other kinds of files since we cant know just based on the path what it
is
- segmetns are stored as vecdeque in normalized path to allow for hopefully more
efficient poping in FIFO order (but definitely more ergonomic)
- test for trailing seperators, the last trailing seperator is ignored, multiple
trailing seperators are turned into noops because i parse paths left to
right (regex?) in the simplest way possible. in normalized paths noops are
completely ignored/removed