make `.localizedFlow` handle non-tail pipes, use this in `save` and `snapshot`

this lets us avoid the hacky getLastPipe solution (thanks @johnynek)