Data.List: add permutations

与えられたリスト要素の順列を返すpermutationsを追加しました。
ここで `pool` に代入する必要は無いように見えます．（下側でも `pool` を変更していないので，`a:list` のままで問題なさそう．）