- Materials: support the viewer removing the material (in which case matsMap["Material"] is missing) - Reduced logging
Renamed MaterialsDemoModule to MaterialsModule
Materials module: a) Store materials as assets; b) Finalized it (removed the "Demo" label; removed most of the logging); c) Enabled by default

Changed UuidGatherer to use 'sbyte' to identify assets instead of 'AssetType'. This lets UuidGatherer handle Materials, which are defined in a different enum from 'AssetType'.
When asked to change the Material for one face, change only that face; not the default material
Check agent permissions before modifying an object's materials. Also, when creating a Material asset, set the current agent as the Creator.
Add code to convert legacy materials stored in DynAttrs to new asset format and store them as assets
delay texture entry parsing until absolutely necessary while converting legacy materials
force SOG update when converting legacy materials to ensure changes are persisted