Add source and dest into path::steps()

This makes a whole lot more sense -- the only reason they're not in
there is because of some magic related to cat, but that really
shouldn't be avisible to userspace.