Move syncpipe into separate package

This moves the sync pipe into a separate package to help the changes when moving the API around.