Fix for bug #21233 (https://gna.org/bugs/?21233) - the missing mpi4py multi-processor messages.

When multiple commands were being sent to one slave, the captured IO was being overwritten by each
executed command.  Therefore the slave would only return the printouts from the last command.
Created the is_int() and is_num() functions for the lib.check_types module.
The value.write user function can now properly handle non-numeric data types.

This allows the spin specific model name to be written to file, or any other string defined in the
specific analysis PARAMS data object.
The multi-processor section of the manual is now labelled in the correct position.
Created a special GUI analysis element for floating point numbers.

This allows for user input of floating point numbers into one of the GUI analysis tabs.  If the
input is not a number, the original value will be restored.
Created the new pipe_control.spectrum.add_spectrum_id() function.

This is used to handle the creation of spectrum ID strings in the data store.  This way new spectrum
IDs can be created from different parts of relax in a controlled way.
Fix for a fatal bug in the rarely used structure.add_atom user function.

The position argument in the user function definitions was incorrectly defined causing the user
function to be non-functional.
Reverted r21330 as this fix was not correct.

The command used was:
svn merge -r21330:r21329 .

.....
  r21330 | bugman | 2013-10-29 17:57:36 +0100 (Tue, 29 Oct 2013) | 6 lines
  Changed paths:
     M /trunk/user_functions/structure.py
  
  Fix for a fatal bug in the rarely used structure.add_atom user function.
  
  The position argument in the user function definitions was incorrectly defined causing the user
  function to be non-functional.
.....
Proper fix for the structure.add_atom user function.

The 'float_object' argument type is now supported in the GUI.
Created the pipe_control.spectrometer.check_frequency() function to standardise this check.
Created the pipe_control.spectrometer.get_frequency() function for returning the frequency for a given ID.
The spectrometer.frequency user function will now added the experiment ID to the list.

This is currently the cdp.spectrum_id list.
The pipe_control.spectrum.add_spectrum_id() function now returns silently if the ID already exists.
Updated all of the OMP model-free results files for the change of r21350.

The spectrum_id global pipe structure now exists and needed to be manually added to the relax
results files to allow a number of model-free system tests to pass.
Updated one more results file that should have gone into r21359.
Reverted r21350, r21359, and r21360 as these were causing the GUI spectra lists to fail.

svn merge -r21350:r21349 .
svn merge -r21360:r21358 .
Improvements to the pymol.view and molmol.view user functions for finding the PDB files.

Now the possibility that this is being run from a results subdirectory is taken into consideration.
If the file cannot be found, the os.pardir parent directory is added to the start of the relative
path and the file checked for.
The rdc.read user function will now skip all lines of the RDC file starting with '#'.

To include molecule identifiers at the start of the line will now require quotation marks.
Shifted the RDC and PCS assembly methods from the main class to the data module for the N-state analysis.
Created the pipe_control.mol_res_spin.is_pseudoatom() function to simplify pseudo-atom handling.