closes #153 many improvements to type layer (test, docs, refinement)

Are you proposing something like tt.addRVCM('r1', 'cf1', 'cq1', 'v1').addRVCM('r1', 'cf1', 'cq2', 'v2').//etc ?

I used String parsing to make the test easy to write and read (the test data is very compact).   I suppose there is the possibility that someone could have a type in one of the input Strings.   To avoid this the parsing should be very strict.