Refactored pipes api to be easier to use
Fixed pipes api bug that prevented it from walking on foreground blocks
Fixed pipes api bug that made it not connect entities correctly
Modified pipe objects to use the changed api