Publish pipeline

validates, inserts record, moves to published workspace.

There is a bit more work to be done in the validation and we should delete the record if the move fails.

Also, this requires a new Environment variable for csw.endpoint, defaults to something reasonable.