PID segment cleanup and specs.
spec for PID (in particular the patient name) , remove idx from segment definition(supplied idx was buggy), added missing fields.
MSH segment cleanup and specs.
spec for msh, remove idx from segment definition, added missing fields, remove convert_to_ts (use superclass)
Add some rbx love back in.

Because some people use it and it's not that difficult.
Fix PID field indexes

The indexes for the PID were off by such that if you tried to call
a field like patient_dob you would get the value for previous element.

This commit fixes this issue and adds a full test for all values of a PID.