Improve type safe map

typesafeパッケージのクラスの構造変更を行いました。
主な変更は次のとおりです。
true/falseの結果から例外をスローする必要がある箇所が複数あったため、
BooleanFunctionUtilクラスを追加しました
キー/バリュー制約を複数同時指定可能になりました。