CaselessDictionary made serializable.
New FileContentsCacheType for enabling simple lookup and caching of file contents.
Fix for module references differing in case from module definitions e.g. Http and HTTP.
Some general refactoring.
#codereview robert.manuszewski
[CL 2581357 by Steve Robb in Main branch]
Fixing up of existing code which used these facilities - this fixes the 'You are attempting to compile on a machine that does not have a supported compiler!' UAT error on machines with really long PATH variables, and exceptions in envvars with non-ASCII characters.
#codereview robert.manuszewski
[CL 2572445 by Steve Robb in Main branch]