Materials are now all string names:
   This commit has tried to convert all the materials to
   string names. This has been done throughout the code
   [Except test]. This avoids the problem of inconsistent
   material names.

   Secondly a small start has been made on having fractional materials