Update

全体的に最適化。
一部コードをDouble check locking方式へ変更。
厳密に変更不可能なクラスにするためにIEnumerable<string>型の戻り値をReadOnlyCollection<string>型とするように変更。