Clean up the Rich initialisation.
In particular remove use of map<string,TYPE> as a temporary local type, and instead use a simpler vector structure, as random access is not required. Results in O(factor 3) speed up in some places.
Note - !205 (merged) should be merged before this one. Once that is done I will likely have a little work to rebase this against the changes there, as I think there will be some minor conflicts.
Edited by Christopher Rob Jones