Large improvements to the checking for all the rdc and pcs user functions.
The new methods check_pipe_setup() have been added to replace all other checking. This
standardises all error checking and provides much better coverage. The results is that a user will
be much less likely to encounter a Python traceback when they forget something, and will be told via
a RelaxError what they are missing.