major refactor of path handling just to get bridging working more universally, feels much improved
fix up lots of bugs from the refactor, much cleaner/isolated relay handling now
validate path types, and standardize bridge path